
Spark
南熏门前一只喵
这个作者很懒,什么都没留下…
展开
-
redis集群使用HashMap优化键值存储结构提升存储性能
项目中遇到Spark Streaming吞吐量太低的问题,redis集群使用HashMap优化键值存储结构提升Spark Streaming吞吐量。场景:设备将运行报文发送到kafka,Spark Streaming对报文进行加工处理,生成6类不同报文信息以json字符串形式set进redis集群。问题:kafka消费速度跟不上。分析:对于1000万设备一个上报周期上报1000万条报文...原创 2020-03-03 00:12:37 · 1183 阅读 · 0 评论 -
确定提交的spark计算任务在spark集群上的最佳分区数
在spark集群上,对于提交的spark计算任务设置合适的分区数可以极大的改善大数据的处理性能。分区数设置的太少会导致一个executor一次处理一个大容量数据块,分区数设置的太多,每个分片处理的数据量太少,在进行数据持久化时需要进行多次连接,对系统造成很大的压力,反而会降低大数据的处理性能。需要明确如下一些概念:Spark worker节点是集群中执行大数据处理的机器节点。executor...原创 2019-11-09 18:17:49 · 805 阅读 · 0 评论 -
Spark广播变量Broadcast
Spark广播变量的目的是让每个worker节点在内存中保存一个只读的对象,节省了在每次tasks创建发送到woker节点中携带该对象副本的网络IO。一些需要在多个task中使用的,不可变的大数据集合对象尤其适合被定义程广播变量。广播变量的定义方法,fron Spark官网:val broadcastVar = sc.broadcast(Array(1, 2, 3)) //sc是SparkC...原创 2019-11-05 22:35:40 · 391 阅读 · 0 评论 -
Spark mapPartitions、map、foreachPartition、foreach算子的区别、误区和正确用法
mapPartitions、map、foreachPartition、foreach的区别mapPartitions和map是transform算子,分别返回一个iterator迭代器和RDD。foreachPartition、foreach是action算子,无返回值。用于结果的输出操作mapPartitions、foreachPartition中定义的是一个RDD的每一个分区的统一处理逻...原创 2019-11-05 22:09:44 · 1502 阅读 · 0 评论