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

DataWorks这个使用with as的时候报错,是语法不支持吗?

DataWorks这个使用with as的时候报错,是语法不支持吗?image.png

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

    如果在DataWorks代码节点使用with as语句时报错,有可能是由以下原因造成的:

    语法版本问题
    DataWorks节点使用的是Python2语法,while Python3支持with as,Python2不支持。

    资源限制问题
    DataWorks节点对内存和CPU有一定限制,with作为上下文管理可能会触发资源限制报错。

    节点编译问题
    部分情况下,with中的代码可能无法顺利编译,导致运行时报错。

    依赖包版本问题
    如果with语句依赖了新版本的第三方包,DataWorks可能没有完整安装对应的依赖包。

    代码逻辑问题
    使用with时代码逻辑有误,比如变量作用域问题等。

    2023-08-10 16:32:49
    赞同 展开评论 打赏
  • ODPS读插件指定分区技巧

    同步任务可以支持ODPS的数据列、分区列、常量列,但不支持函数列

    image.png

    ODPS分区配置支持linux shell通配符,* 表示0个或多个字符,? 代表任意一个字符

    例如分区表 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交流群(答疑@机器人)”

    2023-08-07 19:37:23
    赞同 展开评论 打赏

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

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载