如何在将文件传送到hdfs之前连接文件?

pdkcd3nj  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(320)

我有三个文件,每个文件的第一列是每个事务的序列号。我只想连接这些文件,但我需要在连接之前更改其他文件的序列号,但问题是文件太大,无法编写程序通过更改序列号来连接这些文件。在连接之后,我想把这些数据输入我的hadoop集群。任何帮助都会很好。提前谢谢。

rmbxnbpk

rmbxnbpk1#

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

6rvt4ljy

6rvt4ljy2#

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

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

相关问题