我正在使用 Azure Blob 存储、带有 HDInsight 群集的数据工厂。 我有一个 shell 脚本,其中包含 hadoop 和 hive 相关代码,我正在尝试在 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 脚本的位置,但它没有被采纳,任何帮助/建议/指针都将非常值得赞赏。
提前致谢。
最佳答案
将 shell 脚本上传到 blob 存储,然后调用该脚本到 pig 或 hive,步骤如下。
Hive
!sh hadoop fs -ls wasbs://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b2d1dddcc6cbd3dbdcd7fcd3dfd7f2e1c6ddc0d3d5d7f3d1d1ddc7dcc6fcd3dfd79cd0deddd09cd1ddc0d79cc5dbdcd6ddc5c19cdcd7c6" rel="noreferrer noopener nofollow">[email protected]</a>/pathToScript/testshell.ksh
Pig
sh hadoop fs -ls wasbs://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="05666a6b717c646c6b604b6468604556716a776462604466666a706b714b6468602b67696a672b666a77602b726c6b616a72762b6b6071" rel="noreferrer noopener nofollow">[email protected]</a>/pathToScript/testshell.ksh
关于shell - 使用 azure 数据工厂 (ADF) 从 Pig/Hive 事件运行 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43803573/