分享

Sparksql是否配合etl跑数据仓库的分层数据?

玉溪 发表于 2016-11-14 04:02:52 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 8877
数据仓库数据现在是用hive impala跑的,Sparksql跑的数据会生成很多小文件,甚至是空文件。如果要控制得人为的干预控制。这样的话虽然快,但是不适合跑数据仓库分层数据的。你们数据仓库都是用什么跑的?会遇到这些问题吗?

已有(3)人评论

跳转到指定楼层
tntzbzc 发表于 2016-11-14 09:02:13
spark sql小文件很多人都遇到过。这个是楼主的帖子吧,
SparkSql会生成很多的小文件,怎么解决哦?
http://www.aboutyun.com/forum.php?mod=viewthread&tid=20271



repartition设置是否尝试过解决,我看网上有些人通过这个方法解决掉了。
1. 如果是Spark 1.3.x,  可以调用函数如下:

    【DataFrame2】=【DataFrame1】.repartition(1);

    【DataFrame2】.save(path);

2. 如果是Spark 1.4.0, 可以调用如下函数:

    【DataFrame2】=【DataFrame1】.coalecse(1, false)


回复

使用道具 举报

tntzbzc 发表于 2016-11-14 09:03:47
其实无论哪种解决办法,只要能干活,解决问题,都是可以的。
很多公司也是用hive跑的。关键还是看是否适用自己或则公司
回复

使用道具 举报

玉溪 发表于 2016-11-14 10:15:36
干活的话都可以。现在的问题是Sparksql效率高,还可以结合rdd编程。但是reduce出来的文件不好控制的话,对数据仓库是有压力的,明明可以存储一T的数据,最后也就能存一半。不知道以后会不会在这方面有所改进。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条