- 博客(4)
- 收藏
- 关注
原创 确定提交的spark计算任务在spark集群上的最佳分区数
在spark集群上,对于提交的spark计算任务设置合适的分区数可以极大的改善大数据的处理性能。分区数设置的太少会导致一个executor一次处理一个大容量数据块,分区数设置的太多,每个分片处理的数据量太少,在进行数据持久化时需要进行多次连接,对系统造成很大的压力,反而会降低大数据的处理性能。 需要明确如下一些概念: Spark worker节点是集群中执行大数据处理的机器节点。executor...
2019-11-09 18:17:49 748
原创 mongodb $setOnInsert指令说明
$setOnInsert $setOnInsert指令往往同upsert、$set指令配合使用。mongodb官网说明: If an update operation with upsert: true results in an insert of a document, then $setOnInsert assigns the specified values to the fields ...
2019-11-06 21:56:22 7105
原创 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 360
原创 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 1425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人