<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BlockheadLS的博客]]></title><description><![CDATA[多看书，多请教，勤思考，勤记录。]]></description><link>https://blog.youkuaiyun.com/BlockheadLS</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BlockheadLS]]></copyright><item><title><![CDATA[大数据资料数据集]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/54408946</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/54408946</guid><author>BlockheadLS</author><pubDate>Fri, 13 Jan 2017 15:18:49 +0800</pubDate><description><![CDATA[国内数据：链接：http://pan.baidu.com/s/1i5nyjBn 密码：26bm 
好玩的数据集：链接：http://pan.baidu.com/s/1bSDIEi 密码：25zr 
微软数据：链接：http://pan.baidu.com/s/1bpmo6uV 密码：286q 
微博数据集：链接:http://pan.baidu.com/s/1jHCOwCI 密码:x58f 
遥感影]]></description><category></category></item><item><title><![CDATA[理解LSTM网络]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/54376833</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/54376833</guid><author>BlockheadLS</author><pubDate>Thu, 12 Jan 2017 12:35:35 +0800</pubDate><description><![CDATA[说明这篇同样是一篇译文，通篇很少公式，但对于基本原理讲得很明白，决定翻译并分享它。英语水平有限，有的地方翻译不到位也敬请告知。原文地址如下，Understanding LSTM Networks。————————————————————————–循环神经网络人类并不是在每时每刻都在重新启动他们的思考过程。就像你读一篇散文，你对某个单词的理解是基于前面每一个词的。你不会把之前的都扔掉，然后重新开始思考]]></description><category></category></item><item><title><![CDATA[一个一步步进行反向传播的例子]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/54293714</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/54293714</guid><author>BlockheadLS</author><pubDate>Mon, 09 Jan 2017 22:14:31 +0800</pubDate><description><![CDATA[说明学习深度学习的过程中，遇到了一个用例子讲解反向传播算法的博文，简单粗暴容易理解，很适合我这种小白，所以打算翻译一下分享，英文水平有限，翻译不对的地方请告知。原文地址在这。下面是译文。背景反向传播在神经网络的训练中是一种经常被用到的算法。关于反向传播算法网上有很多讲解，但是很少有用真实的数字为大家举例子来解释的。在本篇博文中，我将努力用一个具体的例子来解释反向传播是怎样工作的，为了确定自己理解的是]]></description><category></category></item><item><title><![CDATA[spark on yarn作业运行的jar包缓存优化]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/53584124</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/53584124</guid><author>BlockheadLS</author><pubDate>Mon, 12 Dec 2016 16:13:45 +0800</pubDate><description><![CDATA[原文地址参考自下文这几天一直在追查spark on yarn的作业运行中的jar包分发，以及执行后的jar包删除的问题。从一开始的毫无头绪，到后来逐渐清晰，到后来通过hadoop的两个很简单的参数配置解决了问题。不得不说，虽然问题不大，对某些大牛们来说也真是小case，但是追查问题，定位问题到最终解决问题的过程，对我来说真是很不错的体验和学习过程。下面详细描述一下遇到的问题，以及解决的过程，给后面的]]></description><category></category></item><item><title><![CDATA[Spark的任务调度学习]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/53497260</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/53497260</guid><author>BlockheadLS</author><pubDate>Wed, 07 Dec 2016 01:27:05 +0800</pubDate><description><![CDATA[背景Spark的调度依次是Application调度、Job调度、Stage调度和Task调度，其中在Spark On Yarn下，Application调度是ResourceManager的工作，Application级别资源的调度是Yarn来分配的，这在《Spark下Yarn-Cluster和Yarn-Client的区别中》做了介绍。本文所记录的Spark的任务调度是在Application已经]]></description><category></category></item><item><title><![CDATA[Spark下Yarn-Cluster和Yarn-Client的区别]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/53329323</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/53329323</guid><author>BlockheadLS</author><pubDate>Fri, 25 Nov 2016 01:51:16 +0800</pubDate><description><![CDATA[0 首先注意的概念ResourceManager：是集群所有应用程序的资源管理器，能够管理集群的计算资源并为每个Application分配，它是一个纯粹的调度器。 
NodeManager：是每一台slave机器的代理，执行应用程序，并监控应用程序的资源使用情况。 
Application Master：每一个应用程序都会有一个Application Master，它的主要职责是向RM申请资源、在每]]></description><category></category></item><item><title><![CDATA[Shell脚本学习之expect命令]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/53112745</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/53112745</guid><author>BlockheadLS</author><pubDate>Thu, 10 Nov 2016 09:52:30 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/leexide/article/details/17485451]]></description><category></category></item><item><title><![CDATA[在shell脚本中使用expect实现scp传输问题]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52980797</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52980797</guid><author>BlockheadLS</author><pubDate>Wed, 09 Nov 2016 21:41:23 +0800</pubDate><description><![CDATA[1.安装expectexpect用于shell脚本中自动交互，其是基于tcl编程语言的工具。所以安装expect首先安装tcl。本文中使用的是expect5.45和tcl8.6.6。安装tcl[root@tseg0 /]$ mkdir /tools
[root@tseg0 /]$ tar -zxvf tcl8.6.6-src.tar.gz
[root@tseg0 /]$ cd tcl8.6.6/un]]></description><category></category></item><item><title><![CDATA[shell脚本创建用户并设置密码]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/53035429</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/53035429</guid><author>BlockheadLS</author><pubDate>Fri, 04 Nov 2016 15:13:14 +0800</pubDate><description><![CDATA[0 背景在非root用户tseg下创建新的用户ls并设置密码123。1 命令行下添加用户及密码如果使用命令行时我们需要这样做：#创建用户ls
sudo useradd ls
#为ls用户设置密码
sudo passwd ls可以看到，要想完成此动作需要root权限。2 shell脚本下添加用户和设置密码因为添加用户和设置密码需要root权限，所以在非root用户下需要使用sudo，但是sudo的每次]]></description><category></category></item><item><title><![CDATA[BIRCH算法]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52925722</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52925722</guid><author>BlockheadLS</author><pubDate>Tue, 25 Oct 2016 18:15:20 +0800</pubDate><description><![CDATA[概念BIRCH算法的全称是Balanced Iterative Reducing and Clustering Using Hierarchies，即利用层次方法的迭代归约和聚类。它的主要思想是建立一棵B树，原始数据存放在叶子节点中，并根据聚类个数和其它参数的设置放在不同的叶子节点中。聚类特征CF聚类特征CF是BIRCH算法最核心的概念，它是多个数据点的结合表示，是一个三元组 (N,LS,SS)(N]]></description><category></category></item><item><title><![CDATA[Spark编程指南--官方翻译]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52878192</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52878192</guid><author>BlockheadLS</author><pubDate>Mon, 24 Oct 2016 15:10:04 +0800</pubDate><description><![CDATA[说明这是对Spark2.0.1的Spark Programming Guide的翻译，翻译它是想让自己静心看下去，英语水平也不高，所以有的地方难免出错，另外，翻译中的某些地方加入了自己的理解，可能就多添了一句，以便于理解。综述在一个高层次来说，每一个Spark应用程序都会包含driver程序（运行用户main函数的程序）和在集群上执行各种各样的并行操作。Spark提供的主要抽象是RDD（弹性的分布式]]></description><category></category></item><item><title><![CDATA[Hadoop多用户配置]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52816031</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52816031</guid><author>BlockheadLS</author><pubDate>Fri, 14 Oct 2016 15:05:15 +0800</pubDate><description><![CDATA[0.Hadoop多用户配置的背景。 
            Hadoop多用户配置的目的就是多个hadoop用户可以共同使用HDFS，但是只能操作属于自己的空间，不能跨用户空间操作（当然/tmp是属于大家的，任何用户都会对这个文件夹有写操作）。 
            Hadoop多用户配置，相当于给每个用户一个hadoop客户端，每个用户都可以使用hadoop的命令操作属于自己的HDFS空间。]]></description><category></category></item><item><title><![CDATA[Learning Spark 笔记(七) -- 受益于分区的操作]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52371321</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52371321</guid><author>BlockheadLS</author><pubDate>Tue, 30 Aug 2016 17:24:12 +0800</pubDate><description><![CDATA[10 . 单元操作是怎样受益的？以reduceByKey为例子，reduceByKey是在本地归约后再发送到一个主机上再进行归约。如果父RDD是有分区信息的，那么就可能只会在本地归约了，而不会再跨网络发送到其它主机上。二元操作是怎样受益于分区的？比如join()，至少会有一个RDD不会被shuffle。如果两个RDD有同样的partitioner，且被缓存在相同的机器上，则不会shuffle产生，比]]></description><category></category></item><item><title><![CDATA[Learning Spark 笔记(六) -- 指定分区信息改善join()等的操作]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52366153</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52366153</guid><author>BlockheadLS</author><pubDate>Tue, 30 Aug 2016 08:40:35 +0800</pubDate><description><![CDATA[9 . 默认情况下，join()操作会对两个RDD的主键做哈希以分区，通过网络将主键相同的元素发送到同一台机器上，然后根据相同的主键再进行连接。例子如下：val sc = new SparkContext()
val userData = sc.sequenceFile[UserID,LinkInfo]("hdfs://...").persist
def processNewLogs(logFile]]></description><category></category></item><item><title><![CDATA[Learning Spark 笔记(五) -- coalesce、repartition]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52358075</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52358075</guid><author>BlockheadLS</author><pubDate>Tue, 30 Aug 2016 00:08:45 +0800</pubDate><description><![CDATA[8 . 在Spark中，有两种方法可以重设RDD的分区，coalesce和repartition。先看一下coalesce和repartition的定义：def coalesce(numPartitions: Int, shuffle: Boolean = false){...}
def repartition(numPartitions: Int)(implicit ord: Ordering[T]]></description><category></category></item><item><title><![CDATA[Learning Spark 笔记(四) -- reduceByKey、combineByKey]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52355183</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52355183</guid><author>BlockheadLS</author><pubDate>Mon, 29 Aug 2016 17:37:07 +0800</pubDate><description><![CDATA[6 . reduceByKey运行多个reduce操作，每个key对应一个reduce操作，只不过reduce返回的是结果，reduceByKey返回的是一个新的RDD。 
7 . Spark有很多根据键来合并数据的操作，其中大部分都是用combineByKey来实现的。下面是一个利用combineByKey来计算每个key的value平均值的例子。val input = sc.textFile("]]></description><category></category></item><item><title><![CDATA[Learning Spark 笔记(三) -- take和persist]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52349306</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52349306</guid><author>BlockheadLS</author><pubDate>Mon, 29 Aug 2016 00:58:18 +0800</pubDate><description><![CDATA[4 .  take(n)试图最小化访问分区，此操作并不一定以期待的顺序返回数据。 
 5 .  当持久化一个RDD的时候，计算这个RDD的节点会保存它们的分区。如果缓存了数据的节点出错了，Spark会在需要的时候重新计算丢失的分区。只有遇到action的时候才会真正的执行持久化操作。默认的持久化操作是将数据存放在JVM中作为非序列化对象。如下面wordcount的例子：val lines = sc.]]></description><category></category></item><item><title><![CDATA[Learning Spark 笔记(二) -- aggregate初值初探]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52346812</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52346812</guid><author>BlockheadLS</author><pubDate>Sun, 28 Aug 2016 17:43:30 +0800</pubDate><description><![CDATA[fold和aggregate都需要初值，且每个初值应用到每个分区。例子如下：
    val input = sc.parallelize(List(1,2,3,4,5,6),3)
    val result = input.aggregate((0, 0))(                              
        (acc, value) => (acc._1 + valu]]></description><category></category></item><item><title><![CDATA[Learning Spark 笔记(一) -- Lazy优势和transformation传参]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/52344290</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/52344290</guid><author>BlockheadLS</author><pubDate>Sun, 28 Aug 2016 11:17:53 +0800</pubDate><description><![CDATA[lazy valuation的优势。它是为大数据而生的，目标是减少迭代次数，节约时间和空间。比如下面的这一段代码 
val text = sc.textFile(“…”) 
val python_lines = text.filter(x=>x.contains(“python”)) 
python_lines.first 
程序只有遇到rdd.first类似的action才会去真正的执行textF]]></description><category></category></item><item><title><![CDATA[贝叶斯估计与结构风险最小化]]></title><link>https://blog.youkuaiyun.com/BlockheadLS/article/details/51695467</link><guid>https://blog.youkuaiyun.com/BlockheadLS/article/details/51695467</guid><author>BlockheadLS</author><pubDate>Thu, 16 Jun 2016 23:46:33 +0800</pubDate><description><![CDATA[]]></description><category></category></item></channel></rss>