spark从mysql读取数据,根据日期放在hive里面,产生了好多小文件,现在通过DataSet.coalesce()合并小文件,导致写入速度非常慢,各位大神有啥其他方法

0
已邀请:
0

regan - run! run! run! happy runner! 我是奔跑的小米~ 2017-08-30 回答

你的目的是减少文件的个数,设置合理的分区数就可以了,例如设置分区数为5,对应5个文件。coalesce和repartitions都能设置分区数量,其底层原理有稍微的差别。从你的问题来看应该是设置的分区数太少,导致并行度不够,故写入速度慢。意见是尝试吧分区数调整为5或10再试试
0

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2018-03-03 回答

别设置为1就行

要回复问题请先登录注册