Apache pig 从通配符输入路径存储

Apache pig 从通配符输入路径存储,apache-pig,Apache Pig,我在Pig中使用通配符输入路径时遇到问题 如果我运行以下命令: A = load ‘/something/*.csv’ using PigStorage(‘,’) dump A; 作业运行后,我看到something文件夹中所有csv文件的输出打印到我的控制台 但是,如果我经营一家商店: A = load ‘/something/*.csv’ using PigStorage(‘,’) store A into ‘somedestination’; 作业失败,并显示以下错误消息: Input

我在Pig中使用通配符输入路径时遇到问题

如果我运行以下命令:

A = load ‘/something/*.csv’ using PigStorage(‘,’)
dump A;
作业运行后,我看到something文件夹中所有csv文件的输出打印到我的控制台

但是,如果我经营一家商店:

A = load ‘/something/*.csv’ using PigStorage(‘,’)
store A into ‘somedestination’;
作业失败,并显示以下错误消息:

Input(s):
Failed to read data from “/something/*.csv”

看起来存储试图从文本路径加载,而不是使用通配符进行全局加载,但是如果是这样,那么为什么它在转储期间工作?是否有其他方法可以完成此操作?

您可能没有写入该文件夹的权限。 转储基本上写入tmp文件夹(或其他文件夹,如果配置不同),然后将其打印到屏幕上

倒垃圾。看看日志。应该这样说:

Input(s):
Successfully read 0 records from: "‘/something/*.csv’"

Output(s):
Successfully stored 0 records in: "file:/tmp/temp1865628879/tmp-1573237939"

然后下次尝试存储到转储时看到的文件夹中。如果可以,那么您就有权限问题。

如果存储区无法读取数据,您可以粘贴整个输出吗?我的猜测是它与存储或全局绑定无关,但脚本可能是其他问题的失败原因,但您仍然看到“未能从/something/*.csv读取数据”