- 博客(11)
- 收藏
- 关注
转载 Spark Shuffle原理、Shuffle操作问题解决和参数调优
转载地址:[(https://www.cnblogs.com/arachis/p/Spark_Shuffle.html)]摘要:1 shuffle原理1.1 mapreduce的shuffle原理1.1.1 map task端操作1.1.2 reduce task端操作1.2 spark现在的SortShuffleManager**2 Shuffle操作问题解决**2.1 数据倾...
2019-06-25 16:11:59
237
转载 spark中的 foreach和foreachPartition的对比分析
RDD.foreachPartition/foreach的操作**转载地址:**https://www.cnblogs.com/mfmdaoyou/p/7073861.htm在这个action的操作中:这两个action主要用于对每一个partition中的iterator时行迭代的处理.通过用户传入的function对iterator进行内容的处理.首先我们先看看foreach的操作:...
2019-06-22 14:08:59
1002
原创 开发优化 之二 序列化的优化 Kryo, Serializable、Externalizable接口
加粗样式序列化的介绍在任何一个分布式系统中,序列化都是扮演着一个重要的角色的。如果使用的序列化技术,在执行序列化操作的时候很慢,或者是序列化后的数据还是很大,那么会让分布式应用程序的性能下降很多。所以,进行Spark性能优化的第一步,就是进行序列化的性能优化。Spark自身默认就会在一些地方对数据进行序列化,比如Shuffle。还有就是,如果我们的算子函数使用到了外部的数据(比如Java内...
2019-06-21 21:08:14
695
原创 开发优化01 之 spark中 filter之后 执行coalesce
开发优化01 之 spark中 filter之后 执行coalescecoalesce合并(窄依赖算子)。。也就是当一个rdd在执行filter之后,进行合并分区。也就是说比如原先分区有100个,经过filter之后又30%被过滤掉了,平均每个partition的数据量就比原来少了30%,那么partition不饱和,此时为了提交计算的效率,我们可以执行coalesce算子合并,将其中多个par...
2019-06-21 20:44:59
472
原创 数据库连接池 实现 spark 写入数据库中
spark写入数据库中书多线程的,创建数据库连接池来优化 数据库Connection的来接配置文件db.properties还有参数MAX-IDLE MIN-IDLE等待略jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/testjdbc.user=sparkjdbc.password=s...
2019-06-21 20:14:35
2527
7
原创 scala match匹配
match 常用类型匹配object TestMatch { def main(args: Array[String]): Unit = { matchAny("a") matchArray() matchTuple() caseClassMacth() matchEnum() } de...
2019-06-15 15:56:39
339
原创 scala实现 快速排序 和 插入排序
**插入排序**在这里插入代码片 // scal 函数式编程实现插入排序 def insertSortByFunction[A <% Ordered[A]](list:List[A]):List[A]={ def insertSort(unSort:List[A], sort:List[A]):List[A]=unSort match{ ...
2019-06-15 15:52:07
340
原创 scala中printf格式化输出总结
printf 格式化输出 %d 十进制数字%s 字符串%c 字符%e 指数浮点数%f 浮点数%i 整数(十进制)%o 八进制%u 无符号十进制%x 十六进制%% 打印%% 打印%...
2019-06-11 19:08:38
4859
转载 scala基础总结
数据类型StringString 本不算什么基础类型,Scala String 类型有些特点简单介绍几点字符串插值(String Interpolation)字符串插值一句话解释:能在字符串定义中直接嵌入变量的引用,举个例子:val name = “wuzheng”println(s"hello name")//hellowuzheng第二句中的name &q...
2019-06-10 22:39:34
166
原创 shuff过程
一、maptask1)一个maptask对应一个逻辑切片split,2)运行代码:1 先执行 setup方法(函数) 在maptask开始时调用一次 ①mapjoin: 把小文件放在运行节点的缓存区,然后流读取,并把其存在一个缓存容器中, 1) getCacheFiles()[0] | getLocalCacheFiles()[0] 2) 创建一个输入流读取缓...
2019-06-04 16:52:51
523
原创 hadoop的job提交
mr中shuff过程分析一、job提交过程申请提交job的前期准备工作:1)客户端向resourcemanager提交job请求2)rm 向客户端返回一个 job_id 以及 共享资源路径(在hdfs下的 tmp)3)客户端将共享数据 放在 共享资源路径下(job.jar,job.spplit、job.xml))4) 客户端向rm返回资源放置成功的响应, 真正的提交应用程序m...
2019-06-04 16:45:13
175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人