我目前有一个进程,从awss3读取文件并使用emr连接它们。输入文件的格式如下:1个标题行和1个数据行。字段以逗号分隔并用双引号括起来。
例子:
“header-field1”、“header-field2”、“header-field3”,。。。
“数据域1”、“数据域2”、“数据域3”,。。。
文件大小在90到200字节之间变化。
输出文件的格式如下:
“header-field1”、“header-field2”、“header-field3”,。。。
“file1-data-field1”、“file1-data-field2”、“file1-data-field3”,。。。
“file2-data-field1”、“file2-data-field2”、“file2-data-field3”,。。。
“file3-data-field1”、“file3-data-field2”、“file3-data-field3”,。。。
....
我当前的方法使用一个默认Map器和一个reducer来连接所有数据行,并在最终输出文件的顶部预先添加一个头行。因为我想在输出final中有一个标题行,所以我被迫在emr作业中只使用一个reducer。我觉得,这大大增加了运行时间。
早期的测试运行良好,有几十个文件。但是,我正在尝试扩展这个应用程序以运行数千个文件,最终目标是连接100万个文件。
我当前处理1000个文件的过程在30多分钟后仍在运行,这太长了。您对如何改进应用程序以显著提高整体性能有何建议?
谢谢您。
暂无答案!
目前还没有任何答案,快来回答吧!