pig@hadoop:处理不带多核HDF的本地文件

l2osamch  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(354)

如果我跑了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?

vd8tlhqk

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脚本中提供该位置。

相关问题