大數據

DataWorks百問百答33:數據同步怎麼配置ODPS分區?

同步任務可以支持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釘釘交流群】

Leave a Reply

Your email address will not be published. Required fields are marked *