我使用的是pig(从cloudera安装)是“本地模式”,而不是mapreduce模式。这些脚本在我的笔记本电脑(macos)上运行得很好。但当我尝试在aws服务器上使用pig时,pig无法读取或写入文件。
以下是清管器命令:
$ pwd
/root/ert/test
$ pig -x local -l /tmp
grunt> pwd
file:/root/ert/test
grunt> ls
file:/root/ert/test/t.pig<r 1> 1697
file:/root/ert/test/test5.csv<r 1> 330
file:/root/ert/test/test5.pig<r 1> 120
file:/root/ert/test/test5.tsv<r 1> 293
grunt> testdata = load 'test5.tsv' as (name:chararray, lob:chararray, date:chararray);
输入数据文件(test5.tsv)位于当前目录中,其内容为:
John WIRELESS 2014-01-01 00:30:15
Doe TELECOM 2014-02-02 00:30:15
NYC WIRELESS 2014-03-03 00:30:15
Chicago WIRELINE 2014-04-04 00:30:15
SanFrancisco WIRELESS 2014-05-05 00:30:15
我得到的错误是:
Input(s):
Failed to read data from "file:///root/ert/test/test5.tsv"
Output(s):
Failed to produce result in "file:/tmp/temp-1810274881/tmp1793050127"
我刚安装了Pig用的 yum
($yum install pig)与cloudera的cdh5回购。我在网上看到,这可能是由于'暂存'目录的读写权限,但不知道哪个是暂存目录。
Pig最初抱怨缺乏hbase。安装hbase后,这些错误停止,但仍无法读取输入文件。
1条答案
按热度按时间w9apscun1#
我的同事解决了这个问题。java消息中隐藏着以下消息:
java.net.UnknownHostException: <host name>.local: <host name>.local
. 他创造了/opt/mapr/hostname
文件,并将主机名存储在那里,还更新了/etc/hosts
文件并指定localhost
价值观。解决了问题。