开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

请问大数据计算MaxCompute odpscmd -f在调用时有没有传递参数的功能?

问题1:请问大数据计算MaxCompute odpscmd -f在调用时有没有传递参数的功能? 类似于Hive里的 hive -f a.sql -d k1=v1
问题2:是的文档里写了-f可以读文件, 我是想在文件里用set k1; 这样的格式自定义参数,然后在执行文件的时候再用 -f a.sql -d k1=v1 给这个参数赋值, hive里有这个功能,odpscmd会支持这个吗? 我之前试过了同时使用 -e 'set k1=v1' -f a.sql 并不能生效

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

    问题1:在 MaxCompute 的 odpscmd 中,可以通过使用 -p 或 --project 参数来传递项目名称,但并没有直接支持类似于 Hive 中 -d k1=v1 的参数传递方式。参数传递通常是通过脚本或程序中的变量来实现,然后在脚本中使用这些变量。

    问题2:在 odpscmd 的 -f 参数中执行文件时,可以在文件中使用 SET 语句来定义参数,但无法直接通过命令行 -f 参数传递参数值。你提到在执行文件时使用 -f a.sql -d k1=v1 的方式赋值参数,这种方式在 odpscmd 中是不支持的。

    要实现类似的功能,可以考虑以下方法:

    使用脚本或程序:编写一个脚本或程序,在其中使用变量来接收参数值,并将其传递给 odpscmd 命令。例如,在 Bash 脚本中,可以使用 $1、$2 等参数变量来接收传入的参数值,并在执行 odpscmd 命令时将其作为变量传递。

    使用配置文件:创建一个配置文件,例如 config.properties,在文件中以键值对的方式定义参数。然后,在脚本或程序中读取该配置文件,并将参数值传递给 odpscmd 命令。

    2023-08-13 20:54:21
    赞同 展开评论 打赏
  • 回答1:可以通过-f指定读取的文件。f87bc6a03cc61aabf3658f66933f9c88.png
    参考:https://help.aliyun.com/zh/maxcompute/user-guide/maxcompute-client?spm=a2c4g.11186623.0.i1#section-bm4-xnm-rcz
    回答2:没有这样的参数,看下脚本模式是否执行这个需求呢,得在DataWorks的script节点执行
    https://help.aliyun.com/zh/maxcompute/user-guide/sql-in-script-mode?spm=a2c4g.11186623.0.i7,此回答整理自钉群“MaxCompute开发者社区2群”

    2023-08-09 12:30:53
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载