<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[A_A_Forever的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/A_A_Forever</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; A_A_Forever]]></copyright><item><title><![CDATA[Spark Shuffle原理、Shuffle操作问题解决和参数调优]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/93589500</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/93589500</guid><author>A_A_Forever</author><pubDate>Tue, 25 Jun 2019 16:11:59 +0800</pubDate><description><![CDATA[转载地址:[(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 数据倾...]]></description><category></category></item><item><title><![CDATA[spark中的  foreach和foreachPartition的对比分析]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/93308700</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/93308700</guid><author>A_A_Forever</author><pubDate>Sat, 22 Jun 2019 14:08:59 +0800</pubDate><description><![CDATA[RDD.foreachPartition/foreach的操作
**转载地址：**https://www.cnblogs.com/mfmdaoyou/p/7073861.htm
在这个action的操作中:
这两个action主要用于对每一个partition中的iterator时行迭代的处理.通过用户传入的function对iterator进行内容的处理.
首先我们先看看foreach的操作:
...]]></description><category></category></item><item><title><![CDATA[开发优化 之二 序列化的优化 Kryo， Serializable、Externalizable接口]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/93231925</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/93231925</guid><author>A_A_Forever</author><pubDate>Fri, 21 Jun 2019 21:08:14 +0800</pubDate><description><![CDATA[加粗样式
序列化的介绍

在任何一个分布式系统中，序列化都是扮演着一个重要的角色的。如果使用的序列化技术，在执行序列化操作的时候很慢，或者是序列化后的数据还是很大，那么会让分布式应用程序的性能下降很多。所以，进行Spark性能优化的第一步，就是进行序列化的性能优化。
Spark自身默认就会在一些地方对数据进行序列化，比如Shuffle。还有就是，如果我们的算子函数使用到了外部的数据（比如Java内...]]></description><category></category></item><item><title><![CDATA[开发优化01 之 spark中 filter之后 执行coalesce]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/93230317</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/93230317</guid><author>A_A_Forever</author><pubDate>Fri, 21 Jun 2019 20:44:59 +0800</pubDate><description><![CDATA[开发优化01 之 spark中 filter之后 执行coalesce
coalesce合并（窄依赖算子）。。也就是当一个rdd在执行filter之后，进行合并分区。也就是说比如原先分区有100个，经过filter之后又30%被过滤掉了，平均每个partition的数据量就比原来少了30%，那么partition不饱和，此时为了提交计算的效率，我们可以执行coalesce算子合并，将其中多个par...]]></description><category></category></item><item><title><![CDATA[数据库连接池  实现 spark 写入数据库中]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/93226363</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/93226363</guid><author>A_A_Forever</author><pubDate>Fri, 21 Jun 2019 20:14:35 +0800</pubDate><description><![CDATA[spark写入数据库中书多线程的，创建数据库连接池来优化  数据库Connection的来接

配置文件db.properties

还有参数MAX-IDLE  MIN-IDLE等待略
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.user=spark
jdbc.password=s...]]></description><category></category></item><item><title><![CDATA[scala  match匹配]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/92094575</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/92094575</guid><author>A_A_Forever</author><pubDate>Sat, 15 Jun 2019 15:56:39 +0800</pubDate><description><![CDATA[match 常用类型匹配
object TestMatch {
    def main(args: Array[String]): Unit = {
        matchAny("a")
        matchArray()
        matchTuple()
        caseClassMacth()
        matchEnum()

    }


    de...]]></description><category></category></item><item><title><![CDATA[scala实现 快速排序 和 插入排序]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/92093252</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/92093252</guid><author>A_A_Forever</author><pubDate>Sat, 15 Jun 2019 15:52:07 +0800</pubDate><description><![CDATA[**插入排序
**在这里插入代码片
   // scal 函数式编程实现插入排序
    def insertSortByFunction[A &lt;% Ordered[A]](list:List[A]):List[A]={
        def insertSort(unSort:List[A], sort:List[A]):List[A]=unSort match{
           ...]]></description><category></category></item><item><title><![CDATA[scala中printf格式化输出总结]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/91456663</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/91456663</guid><author>A_A_Forever</author><pubDate>Tue, 11 Jun 2019 19:08:38 +0800</pubDate><description><![CDATA[printf 格式化输出		
%d 十进制数字
%s 字符串
%c  字符
%e  指数浮点数
%f  浮点数
%i  整数（十进制）
%o  八进制
%u  无符号十进制
%x  十六进制
%%   打印%
%   打印%

...]]></description><category></category></item><item><title><![CDATA[scala基础总结]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/91406957</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/91406957</guid><author>A_A_Forever</author><pubDate>Mon, 10 Jun 2019 22:39:34 +0800</pubDate><description><![CDATA[数据类型
String
String 本不算什么基础类型，Scala String 类型有些特点简单介绍几点
字符串插值（String Interpolation）
字符串插值一句话解释：能在字符串定义中直接嵌入变量的引用，举个例子：
val name = “wuzheng”
println(s"hello name&amp;quot;)//hellowuzheng第二句中的name &amp;q...]]></description><category></category></item><item><title><![CDATA[shuff过程]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/90778240</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/90778240</guid><author>A_A_Forever</author><pubDate>Tue, 04 Jun 2019 16:52:51 +0800</pubDate><description><![CDATA[一、maptask
1）一个maptask对应一个逻辑切片split，
2）运行代码：
1 先执行 setup方法（函数） 在maptask开始时调用一次
	
	
	①mapjoin：
	
		把小文件放在运行节点的缓存区，然后流读取，并把其存在一个缓存容器中，
	
		1） getCacheFiles()[0] | getLocalCacheFiles（）[0]
		2)  创建一个输入流读取缓...]]></description><category></category></item><item><title><![CDATA[hadoop的job提交]]></title><link>https://blog.youkuaiyun.com/A_A_Forever/article/details/90776733</link><guid>https://blog.youkuaiyun.com/A_A_Forever/article/details/90776733</guid><author>A_A_Forever</author><pubDate>Tue, 04 Jun 2019 16:45:13 +0800</pubDate><description><![CDATA[mr中shuff过程分析
一、job提交过程
申请提交job的前期准备工作：
1）客户端向resourcemanager提交job请求

2）rm 向客户端返回一个 job_id 以及 共享资源路径（在hdfs下的 tmp）

3）客户端将共享数据 放在 共享资源路径下（job.jar，job.spplit、job.xml））

4) 客户端向rm返回资源放置成功的响应， 真正的提交应用程序

m...]]></description><category></category></item></channel></rss>