Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop:使用Pig在hdfs文件的每一行末尾添加文本_Hadoop_Hdfs_Apache Pig - Fatal编程技术网

Hadoop:使用Pig在hdfs文件的每一行末尾添加文本

Hadoop:使用Pig在hdfs文件的每一行末尾添加文本,hadoop,hdfs,apache-pig,Hadoop,Hdfs,Apache Pig,我们在HDFS中有原始日志文件,每个日志都是一行,因为这些日志是行分隔的 我们的要求是在这些文件中的每个日志末尾添加一个文本('12345'例如)。。。使用pig/hadoop命令/或任何其他基于map-reduce的工具 请指教 谢谢 AJ加载每个日志条目加载到一个字段中的文件,即行:chararray,并使用CONCAT将文本添加到每行。将其存储到新的日志文件中。如果需要单个文件,则必须参数化脚本以加载每个文件并存储到新文件中,而不是通配符加载 Log = LOAD '/path/wildc

我们在HDFS中有原始日志文件,每个日志都是一行,因为这些日志是行分隔的

我们的要求是在这些文件中的每个日志末尾添加一个文本('12345'例如)。。。使用pig/hadoop命令/或任何其他基于map-reduce的工具

请指教

谢谢
AJ

加载每个日志条目加载到一个字段中的文件,即行:chararray,并使用CONCAT将文本添加到每行。将其存储到新的日志文件中。如果需要单个文件,则必须参数化脚本以加载每个文件并存储到新文件中,而不是通配符加载

Log = LOAD '/path/wildcard/*.log' USING TextLoader(line:chararray);
Log_Text = FOREACH Log GENERATE CONCAT(line,'Your Text') as newline;
STORE Log_Text INTO /path/NewLog.log';

如果您的文件不是非常大,您可以使用单个shell命令来完成

hdfs dfs -cat /user/hdfs/logfile.log | sed 's/$/12345/g' |\
hdfs dfs -put - /user/hdfs/newlogfile.txt

到目前为止你试过什么?请张贴,以便我们可以尝试和帮助您只需要一个映射器来做这件事。到目前为止你尝试了什么?谢谢“好奇的头脑”,这帮助我们解决了这个问题