- 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=*
- 如果需要指定最大分区,可以配置如下信息(下面的语句是完整语句,须全部复制,修改对应ds分区字段即可):
/*query*/ ds=(select MAX(ds) from DataXODPSReaderPPR)
- 如果需要按条件过滤,可以配置如下信息:
/*query*/ pt>=20170101 and pt<20170110,表示pt分区大于等于20170101且小于20170110的所有数据
ODPS写插件指定分区技巧
- 需要写入数据表的分区信息,必须指定到最后一级分区。把数据写入一个三级分区表,必须配置到最后一级分区
例如:pt=20150101/type=1/biz=2
- 不支持写入多个分区