如果我跑了pig@hadoop 在本地模式下(因为我不想使用hdfs),它以单线程/单进程模式处理我的脚本。如果我将hadoop设置为伪模式(hdfs with replication=1),那么pig@hadoop 不喜欢我的 file:///...
:
traj = LOAD 'file:///root/traj'
USING org.apache.pig.piggybank.storage.CSVExcelStorage(
';', 'NO_MULTILINE', 'UNIX', 'SKIP_INPUT_HEADER'
) AS
(
a1:chararray,
a2:long,
a3:long,
a4:float,
a5:float,
a6:float,
a7:chararray,
a8:float,
a9:chararray
);
c = FOREACH (GROUP traj ALL) GENERATE COUNT(traj);
dump c;
有什么办法可以说吗pig@hadoop 以多核模式处理文件而不将文件放入hdfs?
1条答案
按热度按时间vd8tlhqk1#
本地模式-要在本地模式下运行清管器,您需要访问一台机器;所有文件都是使用本地主机和文件系统安装和运行的。使用-x标志指定本地模式(pig-x local)。
mapreduce模式-要在mapreduce模式下运行pig,您需要访问hadoop集群和hdfs安装。mapreduce模式为默认模式;可以使用-x标志(pig或pig-xmapreduce)指定它,但不需要这样做。
资料来源:http://pig.apache.org/docs/r0.9.1/start.html#execution-模式
如果您想在本地模式下运行它,您应该使用命令将pig切换到本地模式
$ pig -x local
. 默认情况下,pig在mapreduce模式下运行并从hdfs读取数据。要在本地模式下运行pig,您只需要访问一台机器。为了简单起见,将文件复制到当前的工作目录(您可能需要创建一个临时目录并移动到该目录),并在pig脚本中提供该位置。