我有三个文件,每个文件的第一列是每个事务的序列号。我只想连接这些文件,但我需要在连接之前更改其他文件的序列号,但问题是文件太大,无法编写程序通过更改序列号来连接这些文件。在连接之后,我想把这些数据输入我的hadoop集群。任何帮助都会很好。提前谢谢。
rmbxnbpk1#
使用mapreduce更改序列号名称,并使用一个reducer将所有内容输出到同一个文件。但是,您将了解如何识别不同的文件。
6rvt4ljy2#
如果您的源操作系统是linux,则可以尝试在子shell中使用流编辑器来更改序列号并将其导入hdfs,例如:
(sed 's/^/1/' ./file1; sed 's/^/2/' ./file2; sed 's/^/3/' ./file3) | hadoop fs -put - hdfs://namenode/hadoopfile
2条答案
按热度按时间rmbxnbpk1#
使用mapreduce更改序列号名称,并使用一个reducer将所有内容输出到同一个文件。但是,您将了解如何识别不同的文件。
6rvt4ljy2#
如果您的源操作系统是linux,则可以尝试在子shell中使用流编辑器来更改序列号并将其导入hdfs,例如: