我想将一个带有.NET SDK的猪作业提交给HDInsight(但是当我使用PowerShell提交它时,也会发生这种情况,已经过测试)。使用以下声明:
string queryString = "REGISTER wasb:///PigTestFolder/myudfs.jar;" +
" A = LOAD 'wasb:///PigTestFolder/wordlist.txt' USING PigStorage()AS Line:chararray;" +
" B =ORDER A BY Line asc;" +
" D= Limit B 20;" +
" Dump D;" +
" STORE D INTO 'wasb:///PigTestFolder/results/' USING PigStorage ('\t');";
当我删除STORE命令时,一切正常。但是将结果存储到BLOB是一个痛苦的屁股。它在错误日志中说:" AS此时出乎意料"。但是如果我删除模式并用$ 0定义列,它会说:B此时出乎意料。
以下代码打印出来:此时转储意外。
string queryString = " A = LOAD 'wasb:///PigTestFolder/wordlist.txt' USING PigStorage();" +
" Dump A;" +
" STORE A INTO 'wasb:///PigTestFolder/results/' USING PigStorage ('\t');";
我使用Hortonworks Sandbox测试了代码并且它可以正常工作。没问题。另一个谜团是,当只使用以下两行PigLatin代码时,它也可以使用:
string queryString = " A = LOAD 'wasb:///PigTestFolder/wordlist.txt' USING PigStorage();" +
"STORE D INTO 'wasb:///PigTestFolder/results/' USING PigStorage ('\t');";
有谁知道我做错了什么?