开发者社区> 问答> 正文

Select transform使用需要注意什么?

Select transform使用需要注意什么?

展开
收起
芯在这 2021-12-13 00:17:42 894 0
1 条回答
写回答
取消 提交回答
    1. Using 子句指定的是要执行的命令,而非资源列表,这一点和大多数的MaxCompute SQL语法不一样,这么做是为了和hive的语法保持兼容。

    2. 输入从stdin传入,输出从stdout传出;

    3. 可以配置分隔符,默认使用 \t 分隔列,用换行分隔行;

    4. 可以自定义reader/writer,但用内置的reader/writer会快很多

    5. 使用自定义的资源(脚本文件,数据文件等),可以使用 set odps.sql.session.resources=foo.sh,bar.txt; 来指定。可以指定多个resource文件,用逗号隔开(因此不允许resource名字中包含逗号和分号)。此外我们还提供了resources子句,可以在using 子句后面指定 resources 'foo.sh', 'bar.txt' 来指定资源,两种方式是等价的(参考“用odps跑测试”的例子);

    6. 资源文件会被下载到执行指定命令的工作目录,可以使用文件接口打开./bar.txt文件。

    目前odps select transform完全兼容了hive的语法、功能和行为,包括 input/output row format 以及 reader/writer。Hive上的脚本,大部分可以直接拿来运行,部分脚本只需要经过少许改动即可运行。另外我们很多功能都用比hive更高执行效率的语言 (C++) 重构,用以优化性能。

    2021-12-13 07:34:27
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载