使用pig命令从目录复制所有文件

时间:2015-08-11 09:48:03

标签: apache-pig hdfs bigdata

嘿我需要使用HDFS将本地目录中的所有文件复制到pig

在pig脚本中,我在源路径中使用带有通配符的copyFromLocal命令

  

即copyFromLocal / home / hive / Sample / * / user

     

它说源路径不存在。

当我使用copyFromLocal /home/hive/Sample/ /user时,它会在HDFS中创建一个名为' Sample'的另一个目录,这是我不需要的。

但是当我包含文件名,即/home/hive/Sample/sample_1.txt时,它就可以了。

我不需要单个文件。我需要复制目录中的所有文件而不在HDFS中创建目录。

PS:我也试过* .txt,?,?。txt 没有通配符。

1 个答案:

答案 0 :(得分:0)

Pig copyFromLocal / toLocal命令仅适用于文件或目录。它永远不会采用一系列文件(或)通配符。更多,猪专注于处理来自/到HDFS的数据。据我所知,你甚至无法循环ls.cause在目录中的文件,因为它列出了HDFS中的文件。所以,对于这种情况,我建议你编写一个shell脚本/动作(即fs命令)来将文件从本地复制到HDFS。

点击以下链接获取信息: http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#copyFromLocal