Spark SQL 如何进行优化?

2018-12-26 11:11:01 +08:00
 HULKSUN

背景:使用spark.sql("selelct * from * where *")从 hive 中读取数据,数据量在百 GB 左右,数据量太大导致处理时间不可接受,主要是数据量导致 persist 时耗时太多.
问题:spark sql 执行 SQL 语句时是先把数据全部从 hive 中加载到内存 /磁盘中然后再执行 SQL 语句吗?因为 SQL 语句加不加 where 限制在 persist 时的数据量都是一样的.如何使 spark 在读 hive 时就只读取满足筛选条件的数据?

1458 次点击
所在节点    问与答
1 条回复
scalaer
2018-12-26 14:41:50 +08:00
无法实现你说的。

不过你可以根据时间将数据分区, 减少查询的数据.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/521080

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX