hadoopparquetdatastorewriter编写性能差

4szc88ey  于 2021-06-01  发布在  Hadoop
关注(0)|答案(0)|浏览(219)

我´我正在用 ParquetDatasetStoreWriter 我的表现真的很差。通常遵循的流程如下:

// First write
dataStoreWriter.write(entity #1);
dataStoreWriter.write(entity #2);
...
dataStoreWriter.write(entity #N);

// Then close
dataStoreWriter.close()

问题是,你可能知道,我的 dataStoreWriter 一个是门面,真正的写作工作是由一个 taskExecutor 和一个 taskScheduler . 这项工作可以通过以下提示标准输出的消息来查看:

INFO: parquet.hadoop.ColumnChunkPageWriteStore: written 685B for [localId] BINARY: 300,000 values, ...
INFO: parquet.hadoop.ColumnChunkPageWriteStore: written 75B for [factTime] INT64: 300,000 values, ...
INFO: parquet.hadoop.ColumnChunkPageWriteStore: written 50B for [period] INT32: 300,000 values, ...
INFO: parquet.hadoop.ColumnChunkPageWriteStore: written 6,304B for [objectType] BINARY: 300,000 values, ...

如您所见,我正在为每个Parquet文件写入300k对象,这导致磁盘中的文件约为700k。没什么大不了的。。。然而,在一两次写入之后,我收到的像这样的消息越来越少,进程停止了。。。
你知道会发生什么吗?云时代一切都是绿色的。。。
使用的版本:
cloudera 5.11版
java 8
spring集成4.3.12.发布
spring数据hadoop 2.2.0.release
编辑:实际上,我使用kite dataset cli工具隔离了parquet文件的编写,问题是skd本身的性能。使用 csv-import 命令并从csv加载数据,我看到我们正在以每分钟400.000条记录的速度写入,这远远低于我们正在写入的每分钟15.0000.000条记录,因此暂停。。。
你能推荐一些提高写作速度的方法吗?谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题