在HDInsight Azure上使用带PIG的C#
我正在使用HDInsight.NETSDK将C#SDK与pig一起使用。指定c#应用程序路径时出错 下面是我如何用pig脚本定义C#应用程序在HDInsight Azure上使用带PIG的C#,c#,apache-pig,azure-hdinsight,C#,Apache Pig,Azure Hdinsight,我正在使用HDInsight.NETSDK将C#SDK与pig一起使用。指定c#应用程序路径时出错 下面是我如何用pig脚本定义C#应用程序 DEFINE pigudf `PigUDF.exe` SHIP('wasb://book@storage.blob.core.windows.net/PIG/app/PigUDF.exe'); 我收到错误“无效的船舶规格”wasb://bookstore@storage160203122480.blob.core.windows.net/PIG/app/
DEFINE pigudf `PigUDF.exe` SHIP('wasb://book@storage.blob.core.windows.net/PIG/app/PigUDF.exe');
我收到错误“无效的船舶规格”wasb://bookstore@storage160203122480.blob.core.windows.net/PIG/app/PigUDF.exe“”不存在,但给定路径中确实存在PigUDF.exe
如果我从HDInsight集群控制台运行相同的查询,并且pig脚本文件和c#app都存储在集群本地,那么它将成功运行。。i、 e以下内容适用于hdinsight群集控制台
DEFINE pigudf `PigUDF.exe` SHIP('C:/PigUDF.exe');
其中pigudf.exe本地存储在集群上
我甚至试着通过用于VisualStudio的HDInsight工具运行它,但我得到了相同的错误
这里的任何帮助都将不胜感激
谢谢
Saleem尝试使用http://而不是wasb://。wasb协议用于访问Windows Azure blob存储
DEFINE pigudf `PigUDF.exe` SHIP('http://book@storage.blob.core.windows.net/PIG/app/PigUDF.exe');
您可以将udf复制到本地,更新其权限,发布并最终删除它
fs -copyToLocal wasb://<container>@account/udf.exe
sh cacls udf.exe /E /G <group>:F
define myUdf `udf.exe`ship('udf.exe')
-- run your computation...
sh del udf.exe
fs-copyToLocal wasb://@account/udf.exe
sh cacls udf.exe/E/G:F
定义myUdf`udf.exe`ship('udf.exe')
--运行您的计算。。。
sh del udf.exe
文件位于blob存储中,我必须访问blob存储。当我在HDInsight群集控制台上执行时,我给出了本地存储的路径。我试过了,但是没用。我也犯了同样的错误。