在Amazon EMR中运行的Pig作业的引导文件的路径是什么

时间:2015-09-02 20:31:05

标签: apache-pig emr

我在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/文件夹下访问引导文件,一切都适合我。

猪不同吗?

1 个答案:

答案 0 :(得分:1)

默认情况下,Pig on EMR配置为访问HDFS位置而不是本地文件系统。错误显示HDFS位置。

有两种方法可以解决这个问题:

  1. 在S3上复制文件,直接从s3

    加载文件

    userdidstopick = load' s3_bucket_location / UserIdsToPick.txt' AS(uid:chararray);

  2. 或者您可以先在HDFS上复制文件(而不是本地文件系统),然后直接将其用作您今天所做的路径。

  3. 我更喜欢第一种选择。