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

Copying all files from a directory using a pig command

嘿,我需要使用 pig.

将所有文件从本地目录复制到 HDFS

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

i.e copyFromLocal /home/hive/Sample/* /user

It says the source path doesnt exist.

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

但是当我包含文件名时,即 /home/hive/Sample/sample_1.txt 它起作用了。

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

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

Pig copyFromLocal/toLocal 命令仅对一个文件有效,否则 directory.It 永远不会处理一系列文件(或)wildcard.More,pig 专注于处理数据 from/to HDFS.Upto 据我所知,你甚至不能循环目录中的文件 ls.because 它会列出 HDFS 中的文件。因此,对于这种情况,我建议您编写 shell script/action(即 fs 命令)将文件从本地复制到 HDFS。

查看下面的 link 以获取信息: http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#copyFromLocal