如何在将文件提供给HDFS之前连接我的文件?

时间:2014-02-04 09:35:08

标签: hadoop mapreduce hdfs bigdata hadoop-streaming

我有三个文件,每个文件的第一列都是每个事务的序列号。我想要做的就是连接这些文件,但我需要在连接之前更改其他文件中的序列号,但问题是文件太大而无法编写程序来通过更改序列号来连接这些文件。连接后,我想将这些数据提供给我的Hadoop集群。任何帮助都会很棒。提前致谢。

2 个答案:

答案 0 :(得分:0)

使用MapReduce更改序列号名称并使用一个reducer将所有文件输出到同一文件。但是,您将了解如何识别不同的文件。

答案 1 :(得分:0)

如果您的源操作系统是Linux,您可以尝试在子shell中使用流编辑器来更改序列号并将其传输到hdfs,如:

(sed 's/^/1/' ./file1; sed 's/^/2/' ./file2; sed 's/^/3/' ./file3) | 
hadoop fs -put - hdfs://namenode/hadoopfile