开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks中odps的分区数据如何配置?

DataWorks中odps的分区数据如何配置?

展开
收起
真的很搞笑 2023-08-07 19:04:36 74 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    DataWorks中读取分区表(ODPS)数据时,需要在读取任务中配置分区参数。

    配置步骤如下:

    选择ODPS表作为源表

    在"筛选条件"选项卡下,选择分区字段

    配置分区值:

    单个分区值:指定单个如'2023-01-01'

    多个分区值:使用英文逗号分隔多个值如'2023-01-01,2023-01-02'

    范围分区:使用'-'指定开始-结束范围如'2023-01-01-2023-01-31'

    全部分区:不指定分区值读取所有分区

    分区值两边需要使用单引号括起来

    2023-08-10 16:40:46
    赞同 展开评论 打赏
  • 读取数据所在的分区信息。ODPS的分区配置支持linux shell通配符,表示0个或多个字符,?表示任意一个字符。默认情况下,读取的分区必须存在,如果分区不存在则运行的任务会报错。如果您希望当分区不存在时任务仍然执行成功,则可以切换至脚本模式执行任务,并在ODPS的Parameter中添加"successOnNoPartition": true配置。例如,分区表test包含pt=1,ds=hangzhou、pt=1,ds=shanghai、pt=2,ds=hangzhou、pt=2,ds=beijing四个分区,则读取不同分区数据的配置如下:如果您需要读取pt=1,ds=hangzhou分区的数据,则分区信息的配置为"partition":"pt=1,ds=shanghai”。
    如果您需要读取pt=1中所有分区的数据,则分区信息的配置为"partition":"pt=1,ds=”。
    如果您需要读取整个test表所有分区的数据,则分区信息的配置为"partition":"pt=,ds=”。此外,您还可以根据实际需求设置分区数据的获取条件(以下操作需要转脚本模式配置任务):如果您需要指定最大分区,则可以添加/query/ ds=(select MAX(ds) from DataXODPSReaderPPR)配置信息。
    如果需要按条件过滤,则可以添加相关条件/query/ pt+表达式配置。例如/query/ pt>=20170101 and pt<20170110表示获取pt分区中,20170101日期之后(包含20170101日期),至20170110日期之前(不包含20170110日期)的所有数据。说明/query/表示将其后填写的内容识别为一个where条件。
    https://help.aliyun.com/document_detail/146663.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-08-07 20:22:32
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    DataWorks全链路数据质量解决方案-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载