spark
乖乖猪001
这个作者很懒,什么都没留下…
展开
-
Spark参数调优
spark.yarn.executor.memoryOverhead设置堆外内存,当出现超出物理内存使用,被yarn杀死的情况是,需要合理设置这个值,一般设置2G够用了spark.sql.shuffle.partitionssparksql的shuffle默认的并行度只有200,要想提高并行度,则需要调大这个值,以避免资源浪费或者单个task处理过大的数据,建议设置为总core的三倍spark.sql.adaptive.enabled开启自适应机制,建议为truespark.sq..原创 2021-01-06 09:47:24 · 898 阅读 · 0 评论 -
Spark读取Mysql性能优化
spark读取MySQL默认的并行度只有1,即使手动指定了并行度numPartitions,也不会生效,这在读取大表的时候会成为性能瓶颈想要提高并行度读取MySQL,则需要获取到该表主键的上下界,然后指定numPartitions,程序就会按照设置的并行度均匀拆分,每个task会去并行读取拆分后的数据,实现方法如下所示:import org.apache.spark.sql.SparkSessionimport scalikejdbc.{ConnectionPool, ConnectionPoolSe原创 2021-01-06 09:44:18 · 926 阅读 · 0 评论 -
Spark避免小文件
SQL-Clientselect * from table1distribute by rand();select /+ REPARTITION(200) / a. from table1 a;select /+ COALESCE(200) / a. from table1 a;API用 coalesce或者repartition,num=(1.0*(df.count())/7000000).ceil.toIntdf.coalesce(num)df.repartition(.原创 2020-09-25 11:25:25 · 502 阅读 · 0 评论 -
Spark textFile生成task数目和RDD的数目分析
当我们使用Spark读取文件的时候,感觉很容易,也很快速。但是,我们想过其中实现的内在原理没? 目前我总结了,四个小问题,作为思考。 1).RDD创建个数 2).当我们使...转载 2019-12-23 17:59:02 · 359 阅读 · 0 评论 -
Spark读取目录获取文件名
import org.apache.hadoop.io.{LongWritable, Text}import org.apache.hadoop.mapreduce.InputSplitimport org.apache.hadoop.mapreduce.lib.input.{FileSplit, TextInputFormat}import org.apache.spark.{SparkC...原创 2019-05-29 17:57:18 · 4386 阅读 · 0 评论