【发布时间】:2012-03-16 22:36:42
【问题描述】:
我有两个问题:
我有一个很大的记录文件,几百万条。我需要将此文件从一台机器传输到 hadoop 集群机器。我猜hadoop中没有scp命令(或者有吗?)如何将文件传输到hadoop机器?
此外,一旦文件在我的 hadoop 集群上,我想搜索包含特定字符串的记录,例如“XYZTechnologies”。这是猪怎么办?一些示例代码可以很好地给我一个良好的开端。
这是我第一次在 Hadoop/Pig 上工作。所以如果这是一个“太基本”的问题,请原谅我。
编辑 1
我尝试了 Jagaran 的建议,但出现以下错误:
2012-03-18 04:12:55,655 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during parsing. Encountered " "(" "( "" at line 3, column 26.
Was expecting:
<QUOTEDSTRING> ...
另外,请注意,我想在记录中的任何位置搜索字符串,所以我将制表符分隔的记录作为一列读取:
A = load '/user/abc/part-00000' using PigStorage('\n') AS (Y:chararray);
【问题讨论】:
-
复制到 HDFS:stackoverflow.com/q/1533330/179529。 Pig 不适合搜索。它用于扫描大量数据以进行操作 (ETL)。
标签: hadoop mapreduce apache-pig hdfs