如何设置Pig STORE命令的输出目录?

时间:2014-05-15 07:36:21

标签: hadoop apache-pig hdinsight

我通过Azure HDInsight使用Pig。我能够提交以STORE结尾的查询,如下所示:

STORE Ordered INTO 'results' USING PigStorage(',');

这样做,将输出存储在目录/user/hdp/results/中。但是我想控制输出目录。我试过了......

STORE Ordered INTO '/myOutDir/results' USING PigStorage(',');

STORE Ordered INTO 'wasb:///myOutDir/results' USING PigStorage(',');

这些都不奏效。它们都会产生这个错误:

Ordered was unexpected at this time.

我的问题是,我可以控制Store命令的输出目录吗?或者它必须进入用户目录?

2 个答案:

答案 0 :(得分:0)

如果要使用参数设置输出,可以执行以下操作:

 STORE Ordered INTO '$myOutDir/results' USING...

然后使用以下命令运行脚本:

 pig -param myOutDir=/blablabla/... myScript.pig

注意:您还可以为参数设置默认值,在脚本顶部添加:

%default myOutDir '/blablabla/...'

希望这有帮助,祝你好运:)

答案 1 :(得分:0)

使用输出路径如下

wasb[s]://<BlobStorageContainerName>@<StorageAccountName>.blob.core.windows.net/<path>

如果输出路径为/example/data/sample.log,则使用

wasb://mycontainer@mystorageaccount.blob.core.windows.net/example/data/sample.log
wasb:///example/data/sample.log

我希望这对你有帮助。 : - )