【问题标题】:Running a shell script from Pig/Hive activity using azure data factory(ADF)使用 azure 数据工厂 (ADF) 从 Pig/Hive 活动运行 shell 脚本
【发布时间】:2017-10-03 20:30:30
【问题描述】:

我正在使用 Azure Blob 存储,数据工厂和 HDInsight 群集。 我有一个包含 hadoop 和 hive 相关代码的 shell 脚本,我正在尝试在 ADF 中添加/创建一个 hive/Pig 活动,从 pig/hive 的代码中我正在调用一个 shell 脚本;作为

myFile.pig

sh /myFolder/myscript.sh

===========================

myFile.hql

!/myFolder/myscript.sh

在执行时,我得到了 Java.IO.Excption |无此文件或目录 。 根据异常 pig/hive 文件无法识别 shell 脚本路径;

是否有人遇到过类似的问题,或者是否有人将 pig/hive 活动与 ADF 的 shell 脚本一起部署。

我已经尝试了多种方法和所有可能的路径组合来传递 shell 脚本的位置,但它没有被拾起,任何帮助/建议/指针,都会非常受欢迎。

提前致谢。

【问题讨论】:

  • 你得到答案了吗?遇到同样的问题
  • 是的,我们找到了解决方案。
  • 那是什么?可以分享一下吗
  • 1) 在 ADF 中创建 Hive 活动 2) 设置 hive.execution.engine =mr;在 hive 脚本中 3) 调用 sh as ; !sh myscript.sh
  • 能否请您详细说明如何让 ADF 识别 shell 脚本路径

标签: shell azure hadoop azure-hdinsight azure-data-factory


【解决方案1】:

将 shell 脚本上传到 blob 存储,然后调用该脚本到 pig 或 hive,Bleow 是步骤。

Hive 

    !sh hadoop fs -ls wasbs://contyaineName@StorageAccountName.blob.core.windows.net/pathToScript/testshell.ksh

Pig 
    sh hadoop fs -ls wasbs://contyaineName@StorageAccountName.blob.core.windows.net/pathToScript/testshell.ksh

【讨论】:

  • 我建议使用代码块格式以获得更好的可读性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
相关资源
最近更新 更多