通过azure中的.net应用程序进行流式处理

3zwjbxry  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(377)

我有一个.net可执行文件,我想通过它在我的AzureHDInsight集群的pig中传输数据。我已将其上载到容器中,但当我尝试通过它传输数据时,出现以下错误:

<line 1, column 393> Failed to generate logical plan. Nested exception: java.io.IOException: Invalid ship specification: '/util/myStreamApp.exe' does not exist!

我定义和使用我的行为如下:

DEFINE myApp `myStreamApp.exe` SHIP('/util/myStreamApp.exe');
outputData = STREAM inputData THROUGH myApp;

我试着带着和不带领队,试着排位赛 wasb:///util/myStreamApp.exe 试着把它完全限定为 wasb://myContainer@myAccount.blob.core.windows.net/util/myStreamApp.exe ,但在任何情况下,我都会收到一条消息,即我的文件不存在。
上载到hdinsight的此页面表明您可以使用的azure blob存储路径 wasb:///example/data/davinci.txt 在hdinsight as中 /example/data/davinci.txt ,这表明路径不应该有问题。

7y4bm7vi

7y4bm7vi1#

问题是我没有在调用方声明依赖关系。我有一个控制台应用程序可以创建Pig作业:

var job = new PigJobCreateParameters()
{
    Query = myPigQuery,
    StatusFolder = myStatusFolder
};

但我需要补充一下 job.Files 集合依赖于我的文件:

job.Files.Add("wasbs://myContainer@myAccount.blob.core.windows.net/util/myStreamApp.exe");

相关问题