Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在HDInsight Azure上使用带PIG的C#_C#_Apache Pig_Azure Hdinsight - Fatal编程技术网

在HDInsight Azure上使用带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/

我正在使用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/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群集控制台上执行时,我给出了本地存储的路径。我试过了,但是没用。我也犯了同样的错误。