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

ymdaylpp  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(367)

嘿,我需要把所有文件从本地目录复制到 HDFS 使用 pig .
在Pig脚本中,我使用 copyFromLocal 在源路径中使用通配符的命令
i、 e copyfromlocal/home/hive/sample//user
它说源路径不存在。
当我使用 copyFromLocal /home/hive/Sample/ /user ,它在hdfs中生成另一个名为“sample”的目录,我不需要它。
但是当我把文件名也包括进去 /home/hive/Sample/sample_1.txt 它起作用了。
我不需要一个文件。我需要复制目录中的所有文件,而不在hdfs中创建目录。
ps:我也试过
.txt,?,?.txt没有通配符工作。

of1yzvn4

of1yzvn41#

pig copyfromlocal/tolocal命令只适用于文件或目录。它永远不会使用一系列通配符。此外,pig专注于处理来自/到hdfs的数据。据我所知,你甚至不能用ls循环目录中的文件。因为它列出hdfs中的文件。因此,对于这个场景,我建议您编写一个shell脚本/操作(即fs命令),将文件从本地复制到hdfs。
请查看以下链接以获取信息:http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#copyfromlocal

相关问题