在amazon emr中运行的pig作业的引导文件的路径是什么

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

我在emr作业中引导一个数据文件。引导成功,文件被复制到 /home/hadoop/contents/ 具有正确权限的文件夹。
但是,当我尝试在pig脚本中访问它时,如下所示:

userdidstopick = load '/home/hadoop/contents/UserIdsToPick.txt' AS (uid:chararray);

我得到一个输入路径不存在的错误:

hdfs://10.183.166.176:9000/home/hadoop/contents/UserIdsToPick.txt

当运行ruby作业时,引导文件总是可以在 /home/hadoop/contents/ 文件夹和一切都对我有用。
Pig有什么不同吗?

roqulrg3

roqulrg31#

默认情况下,emr上的pig配置为访问hdfs位置,而不是本地文件系统。错误显示hdfs位置。
有两种方法可以解决这个问题:
要么在s3上复制文件,要么直接从s3加载文件
userdidstopick=加载's3\u bucket\u location/useridstopick.txt'为(uid:chararray);
或者,您可以先将文件复制到hdfs(而不是本地文件系统)上,然后直接将其用作今天正在执行的路径。
我更喜欢第一种选择。

相关问题