dataworks2.0问题排查思路

  1. 云栖社区>
  2. 博客>
  3. 正文

dataworks2.0问题排查思路

阴转多云转晴 2019-07-09 08:52:08 浏览227
展开阅读全文

1.数据同步不支持数据包含换行符n
2.PAI节点可以支持TenSorFlow。
3.遇到连通性通过,但是配置同步作业或运行时会有超时情况。这种情况通常自定义资源组来做同步。
4.正常调用正常但重跑报错报错ODPS-0130071,重新打开窗口重跑流程。
5.与其他关联产品比如ODPS、PAI是和项目空间确认绑定关系的。必须创建dataworks时来配置。
6.赋值节点中是不支持使用python代码执行SQL的
7.提交任务成功后10分钟之前生成的实例都是空跑设置为成功的。之后生成的实例应该是可以正常运行的,如果还是无法正常运行,可以重新发布一下任务。
8.不支持节点任务完成数据的保存之后,通知本地系统做出响应。
9.要使用dataworks的Stream Studio必须开通实时计算
10.sqlscript:一次编译,odpssql:是逐条编译
11.目前没有组合节点的概念(dataworks1.0的),想要依赖多个节点组成的模块,直接依赖其最后一个节点就可以。
12.pyodps 节点不要通过迭代的方式来处理数据,再上传,这个是单机,没有利用到 MaxCompute 的能力,应当用 PyODPS DataFrame 或者 SQL 来处理数据
13.数据同步的时候,如果是非分区表,需要把调度中的参数去掉,否则自动运行的时候会报错Code:[OdpsWriter-31], Description:[分区配置错误.].
14.ECS自建MySQL,配置安全组,即可测试连通性
15.查询以后的下载导致字符串类型的“00001”变成了1,是Excel导致的,目前官方没有推荐的Excel版本
16.自定义资源需要能够通过公网,汇报心跳给dataworks,如果在相同区域,是可以的。不需要内网地址,但需要开下dataworks白名单或者放行0.0.0.0/0
17.测试环境的数据同步到生产环境:insert into table 生产环境.表名 select 1,2,3 from 测试环境.表名;
18.不同账号之间的数据同步可以使用备份功能。
19.数据集成的时候源数据库故障重试3次,每次间隔2分钟。不支持自定义时间间隔。
20.运维中心的周期任务解冻以后,已经被冻结的周期实例是不计入未运行的实例的
21.不是告警负责人收到告警,检查下报警接收人 个人信息界面是不是有邮件和手机号,是不是配置了 ;子账号没有配置手机信息,就会按照https://notifications.console.aliyun.com 里面,基本接收管理类目下,产品新功能上线或功能下线通知子类里配置的接收人去发送。
22.如果在odps节点使用set命令可能会报错“提交任务失败”,可以改用odpscmd客户端操作。或者set后面跟一个select操作(dataworks不支持set类的session操作,odpscmd可以的)
dataworks操作set例子:
///
SET LABEL 2 TO TABLE test_label(key, value);
SELECT 1;
23.自定义资源组grep -i 'killed process' /var/log/messages 查看下是否有oom的日志,如果有并且不是专业版本那么就需要考虑将部分任务考虑放到默认资源,或者降低任务并发
24.用 pyodps dataframe 应当避免任何循环,不然性能就是不太好的
25.不支持数据集成写入外部表。跟源端是什么类型无关。主要是目标端如果是外部表,则写入会报错。
26.不同主账号的项目进行数据迁移,建议通过数据集成配置不同账号下的数据源。
27.使用shell调用sql,请注意 accessid 、accesskey 和 endpoint 的替换,详细调用方法如下: /opt/taobao/tbdpapp/odpswrapper/odpsconsole/bin/odpscmd -u accessid -p accesskey --project=testproject --endpoint=http://service.odps.aliyun.com/api -e "sql"
28.同步多个分区

    读取数据所在的分区信息,支持linux shell通配符,包括 * 表示0个或多个字符,?代表任意一个字符。
    例如:现在有分区表 test,其存在 pt=1,ds=hangzhou pt=1,ds=shanghai pt=2,ds=hangzhou pt=2,ds=beijing 四个分区
    * 如果你想读取 pt=1,ds=shanghai 这个分区的数据,那么你应该配置为: "partition":["pt=1,ds=shanghai"];
    * 如果你想读取 pt=1下的所有分区,那么你应该配置为: "partition":["pt=1,ds=* "];
    * 如果你想读取整个 test 表的所有分区的数据,那么你应该配置为: "partition":["pt=*,ds=*"];
    * 如果需要按条件过滤,可以配置 "partition":["/*query*/ pt>=20190101 and pt<20190110"],表示同步pt分区大于等于20190101且小于20190110的所有数据

29.数据服务API查询慢,可以看入参,是否有分区列。如果有,连接串需要加 preferQueryMode=simple

网友评论

登录后评论
0/500
评论
阴转多云转晴
+ 关注