- 博客(29)
- 资源 (10)
- 收藏
- 关注
转载 Spark使用CombineTextInputFormat缓解小文件过多导致Task数目过多的问题
来自: http://www.cnblogs.com/yurunmiao/p/5195754.html目前平台使用Kafka + Flume的方式进行实时数据接入,Kafka中的数据由业务方负责写入,这些数据一部分由Spark Streaming进行流式计算;另一部分数据则经由Flume存储至HDFS,用于数据挖掘或机器学习。HDFS存储数据时目录的最小逻辑单位为“小时”,为了保证数据计算
2016-06-30 15:39:40 2613
转载 Spark SQL利器:cacheTable/uncacheTable
Spark相对于Hadoop MapReduce有一个很显著的特性就是“迭代计算”(作为一个MapReduce的忠实粉丝,能这样说,大家都懂了吧),这在我们的业务场景里真的是非常有用。 假设我们有一个文本文件“datas”,每一行有三列数据,以“\t”分隔,模拟生成文件的代码如下: 执行该代码之后,文本文件会存储于本地路径:/tmp/datas,它包含1000行测试数据,将其上传
2016-06-30 15:03:21 2452
转载 spark:map mapPartitions flatmap
mapmap是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD。任何原RDD中的元素在新RDD中都有且只有一个元素与之对应。举例:scala> val a = sc.parallelize(1 to 9, 3)scala> val b = a.map(x => x*2)scala> a.collectres10: Array[Int] = Array(1, 2
2016-06-30 12:01:17 1249
转载 Spark算子:RDD基本转换操作(5)–mapPartitions、mapPartitionsWithIndex
mapPartitionsdef mapPartitions[U](f: (Iterator[T]) => Iterator[U], preservesPartitioning: Boolean = false)(implicit arg0: ClassTag[U]): RDD[U]该函数和map函数类似,只不过映射函数的参数由RDD中的每一个元素变成了RDD中每一个分区的迭代器。
2016-06-30 12:00:16 501
转载 影响到Spark输出RDD分区的操作函数
下面的操作会影响到Spark输出RDD分区(partitioner)的: cogroup, groupWith, join, leftOuterJoin, rightOuterJoin, groupByKey, reduceByKey, combineByKey, partitionBy, sort, mapValues (如果父RDD存在partitioner), flatMapValue
2016-06-30 11:12:16 859
转载 使用SparkSQL实现多线程分页查询并写入文件
一、由于具有多张宽表且字段较多,每个宽表数据大概为4000万条,根据业务逻辑拼接别名,并每张宽表的固定字段进行left join 拼接SQL。这样就能根据每个宽表的主列,根据每个宽表的不同字段关联出一张新的集合。由于下来要进行分页查询,如果要使用SparkSQL进行分页查询,需要增加序号列,那么就在刚才的Sql之前增加一句 create table tableName as SELECT ROW
2016-06-24 10:49:10 5284 2
转载 Deep learning:十三(Softmax Regression)
在前面的logistic regression博文Deep learning:四(logistic regression练习) 中,我们知道logistic regression很适合做一些非线性方面的分类问题,不过它只适合处理二分类的问题,且在给出分类结果时还会给出结果的概率。那么如果需要用类似的方法(这里类似的方法指的是输出分类结果并且给出概率值)来处理多分类问题的话该怎么扩展呢?本次要讲
2016-06-18 11:06:15 303
转载 Spark性能调优——扩展篇
http://blog.csdn.net/sbq63683210/article/details/51690971 好的spark 学习资源
2016-06-18 11:03:09 2923
转载 为什么叫二项分布,又为什么叫多项分布?
二项式分布是随机独立事件的可能结果是2个,对于这2个结果的概率分布;因此,多项式分布是随机独立事件的可能结果是多个(大于2个),对于多个可能结果的概率分布;伯努利分布是随机独立事件的结果为0和1两种情况的概率分布 比较简单容易理解的文章,貌似是电子书的一章告诉你为什么叫二项分布,又为什么叫多项分布。二项分布如果掷一枚硬币,正面向上的结局的概率为0.5 。反面向上的结局的概率也是0.5。那么出现正面向上事件或者反面向上事件的概率就是0.5+0.5=1,即二者必居其一。如果掷
2016-06-17 09:03:32 5765
转载 java线程:Atomic(原子的)
一、何谓Atomic? Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位。计算机中的Atomic是指不能分割成若干部分的意思。如果一段代码被认为是Atomic,则表示这段代码在执行过程中,是不能被中断的。通常来说,原子指令由硬件提供,供软件来实现原子方法(某个线程进入该方法后,就不会被中断,直到其执行完成) 在x86 平台上,CPU提供了在指令执行期间对总线
2016-06-16 15:39:19 369
转载 AtomicBoolean
使用 AtomicBoolean 高效并发处理 “只初始化一次” 的功能要求:1private static AtomicBoolean initialized = new AtomicBoolean(false);2 3public void ini
2016-06-16 15:36:08 418
转载 Akka学习笔记:ActorSystem(调度)
调度 正如你在ActorSystem中的API看到的,如下:1//Light-weight scheduler for running asynchronous tasks after some deadline in the future.2def scheduler :Sch
2016-06-15 18:05:58 2647
转载 Akka学习笔记:ActorSystem(配置)
正如我们在前面看到的几篇文章,我们可以用ActorSystem类中的actorOf 方法来创建Actor。其实在ActorSystem中有大量的方法我们可以用,在这里我将介绍Configuration和Scheduling方法。让我们看一下ActorSystem类中的一些方法,如下图:如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_
2016-06-15 18:01:10 4149
转载 Akka学习笔记:Actor消息处理-请求和响应(2)
接《Akka学习笔记:Actor消息处理-请求和响应(1)》文章目录 [hide]0.1 二、StudentActor对InitSignal消息作出反应,并且发送了QuoteRequest 消息给TeacherActor0.2 四、StudentActor仅仅将QuoteResponse 作为日志打印到控制台/logger0.3 三、TeacherActor
2016-06-15 17:50:59 2037
转载 Akka学习笔记:Actor消息处理-请求和响应(1)
在前面的文章《Akka学习笔记:Actor消息传递(1)》和《Akka学习笔记:Actor消息传递(2)》。我们仅仅将消息发送到Actor,并没有期待从Actor发来的响应。 从技术上讲,我们给Actor发送消息,除了没有响应,目标的Actor将对这条消息进行如下操作: 1、给发送者发送一个响应,在我们的例子中,TeacherActor将发送一个quote 到StudentActor作
2016-06-15 17:44:15 2345
转载 Akka学习笔记:测试Actors
在《Akka学习笔记:日志》文章中介绍了Akka的日志功能。本文主要介绍如何测试Actors。文章目录 [hide]1 测试Akka1.1 1, 2 - 给Actor发送消息1.2 3、检查Actors的内部状态1.3 4、检查日志消息1.4 5、测试带有构造参数的Actors2 关闭ActorSystem测试Akka
2016-06-15 17:20:25 1436
转载 Akka学习笔记:日志
在前面的三篇文章中《Akka学习笔记:ACTORS介绍》《Akka学习笔记:Actor消息传递(1)》和《Akka学习笔记:Actor消息传递(2)》 ,我们只是简单地介绍了Actors以及消息传递如何工作。在这篇文章中我们将给TeacherActor类加一些日志和测试功能。文章目录 [hide]1 回顾2 用SLF4J 打印Akka日志2.1 通过日志来
2016-06-15 16:50:08 1365
转载 Akka学习笔记:Actor消息传递(2)
文章目录 [hide]1 消息2 DISPATCHER AND A MAILBOX2.1 1、MailBox2.2 2、Dispatcher3 Teacher Actor消息 我们在前面仅仅讨论了ActorRef的QuoteRequest,并没有看到message的类!这里将介绍,代码如下:1p
2016-06-15 16:42:56 1136
转载 Akka学习笔记:Actor消息传递(1)
从前面的《Akka学习笔记:ACTORS介绍》,我们已经简单地了解了Actors。在这篇笔记中,我们将介绍Actor的消息传递。作为例子,我们将继续使用前面介绍的 Student-Teacher模型。 在Actor消息传递的前部分,我们将创建Teacher Actor而不是Student Actor,我们将用一个称为StudentSimulatorApp的主程序。文章目录 [hi
2016-06-15 15:34:52 2611
转载 Akka学习笔记:Actors介绍
任何在过去做过多线程开发的人都不会否认维护多线程应用程序是多么难和头疼的一件事!我这里说的是维护,因为多线程开发开始的时候很简单,当你看到性能的提升对你来说是件多么高兴的一件事。然而,当你看到在子任务中很难找到容易的方法来从错误中恢复;或者是存在僵尸进程的bug很难重现;或者你的监控程序显示你的线程浪费大量的时间来等待共享状态而阻塞的时候对你来说是多么头疼! 我在这里并没有提到Java的并发
2016-06-15 15:14:40 925
转载 Jacobian矩阵和Hessian矩阵
(x1,x2…,xn)构成的hessian矩阵的基矩阵n*n为 x1x1 x1x2 .... x1xnx2x1 x2x2 .... x2xn. . .... .xnx1 xnx2 .... xnxn
2016-06-08 15:17:19 553
转载 告诉你为什么数据要取对数
平时在一些数据处理中,经常会把原始数据取对数后进一步处理。之所以这样做是基于对数函数在其定义域内是单调增函数,取对数后不会改变数据的相对关系,取对数作用主要有:1. 缩小数据的绝对数值,方便计算。例如,每个数据项的值都很大,许多这样的值进行计算可能对超过常用数据类型的取值范围,这时取对数,就把数值缩小了,例如TF-IDF计算时,由于在大规模语料库中,很多词的频率是非常大的数字。2. 取
2016-06-07 16:04:36 42391 1
转载 机器学习经典算法7-线性回归
1.简单介绍 分类处理的是离散预测,而对于连续的值类型则可以利用回归进行预测,这里对主要的几个线性回归方法进行初步介绍。这里也有训练集和测试集。2.单变量线性回归的参数求解3.多变量线性回归4.利用矩阵进行参数求解5.局部加权线性回归6.岭回归7.编程实现 这里standMaReg实现的是
2016-06-06 18:17:17 1444
转载 机器学习-学习笔记3.1-局部加权回归
局部加权紧接着上面的线性回归中参数求解来继续讲吧。还是以上面的房屋价格的预测,它的中心思想是在对参数进行求解的过程中,每个样本对当前参数值的影响是有不一样的权重的。比如上节中我们的回归方程为(这个地方用矩阵的方法来表示Ɵ表示参数,i表示第i个样本,h为在Ɵ参数下的预测值): 我们的目标是让 最小,然后求出来Ɵ,再代入h中就可以得到回归方程了。
2016-06-06 18:16:11 427
转载 局部加权回归
通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under fitting),比如数据集是一个钟形的曲线。而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的过拟合(overfitting),不符合数据真实的模型。 今天来讲一种非参数学习方法,叫做局部加权回归(LWR)。为什么局部加权回归叫做非参数学习方法呢? 首
2016-06-06 18:15:01 572
转载 距离和相似度度量
在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means)。当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下。为了方便下面的解释和举例,先设定我们要比较X个体和Y个体间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, …
2016-06-03 08:29:59 758
转载 通过可视化来了解你的Spark应用程序
【编者按】在"Spark 1.4:SparkR发布,钨丝计划锋芒初露"一文中,我们有简单地介绍了1.4版本给Spark注入的新特性,在各个组件的介绍中也提到了新UI给用户带来的便捷。而从本文开始,我们将通过Databricks Blog上的系列文章深入了解新版本中的数据可视化,首先分享的是这个系列的第一篇博文——Understanding your Spark application th
2016-06-02 16:23:32 517
转载 linux下查看网卡的速度-dmesg的应用
dmesg 命令可检测 程序bug导致的退出信息,包括 某个java进程被jvm杀掉,一般无法通过应用日志查看,可通过dmesg命令查看
2016-06-02 15:49:58 6235
mysql-5.5.23-win32
2012-05-07
Lucene in Action(第2版Lucene3.0.2版本)
2012-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人