您的位置:首页 > 数据库

Spark SQL中防止数据倾斜sqlContext.sql中添加distribute by rand()

2017-02-04 11:40 3159 查看
一、在 Spark SQL中有时会因为数据倾斜影响节点间数据处理速度,可在SQL中添加distribute by rand()来防止数据倾斜

val dataRDD = sqlContext.sql(
"select A ,B from table your_table distribute by rand() "
)


二、在数据量过大时,若在Spark SQL中 使用sort排序等自定义函数会出现内存不足错误

如Total size of serialized results of 20 tasks (1058.2 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)   

解决办法可在hive中单独建立一张表将数据排序,避免该步骤在spark内存中执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark