同步任务可以支持ODPS的数据列、分区列、常量列,但_不支持函数列_
- ODPS分区配置支持linux shell通配符,* 表示0个或多个字符,? 代表任意一个字符
- 默认情况下,读取的分区需要存在,如果分区不存在任务会报错。 如果您希望分区不存在时任务仍然成功,您可以转换为脚本模式,在odps的parameter端下面配置successOnNoPartition参数,即 \\\"successOnNoPartition\\\": true
例如:分区表 test存在 pt=1,ds=hangzhou pt=1,ds=shanghai pt=2,ds=hangzhou pt=2,ds=beijing 四个分区,如果你想读取 pt=1,ds=shanghai 这个分区的数据,分区信息中配置: pt=1,ds=shanghai;
如果你想读取 pt=1下的所有分区,分区信息中配置 :pt=1,ds=;如果你想读取整个 test 表的所有分区的数据,分区信息中配置 :pt=,ds=*
- 如果需要指定最大分区,可以配置如下信息:
/query/ ds=(select MAX(ds) from DataXODPSReaderPPR)
- 如果需要按条件过滤,可以配置如下信息:
/query/ pt>=20170101 and pt<20170110,表示pt分区大于等于20170101且小于20170110的所有数据
ODPS写插件指定分区技巧
- 需要写入数据表的分区信息,必须指定到最后一级分区。把数据写入一个三级分区表,必须配置到最后一级分区
例如:pt=20150101/type=1/biz=2
- 不支持写入多个分区
DataWorks百问百答历史记录 请点击这里查看>>
更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】