使用 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
嘿,我需要使用 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