随笔分类 - Spark
摘要:在机器学习中,线性回归和逻辑回归算是最基础入门的算法,很多书籍都把他们作为第一个入门算法进行介绍。除了本身的公式之外,逻辑回归和线性回归还有一些必须要了解的内容。一个很常用的知识点就是虚拟变量(也叫做哑变量)—— 用于表示一些无法直接应用到线性公式中的变量(特征)。 举个例子: 通过身高来预测体重,
阅读全文
摘要:1 概念 2 安装 3 RDD RDD包含两种基本的类型:Transformation和Action。RDD的执行是延迟执行,只有Action算子才会触发任务的执行。 宽依赖和窄依赖用于切分任务,如果都是窄依赖,那么就可以最大化的利用并行。 常用操作: cache 缓存 cartesian 笛卡尔积
阅读全文
摘要:之前流水账似的介绍过一篇机器学习入门的文章,大致介绍了如何学习以及机器学习的入门方法并提供了一些博主自己整理的比较有用的资源。这篇就尽量以白话解释并介绍机器学习在推荐系统中的实践以及遇到的问题... 也许很多点在行家的眼里都是小菜一碟,但是对于刚刚接触机器学习来说,还有很多未知等待挑战。 所以读者可
阅读全文
摘要:最近因为手抖,在Spark中给自己挖了一个数据倾斜的坑。为了解决这个问题,顺便研究了下Spark分区器的原理,趁着周末加班总结一下~ 先说说数据倾斜 数据倾斜是指Spark中的RDD在计算的时候,每个RDD内部的分区包含的数据不平均。比如一共有5个分区,其中一个占有了90%的数据,这就导致本来5个分
阅读全文
摘要:Spark中的任务管理是很重要的内容,可以说想要理解Spark的计算流程,就必须对它的任务的切分有一定的了解。不然你就看不懂Spark UI,看不懂Spark UI就无法去做优化...因此本篇就从源码的角度说说其中的一部分,Stage的切分——DAG图的创建 先说说概念 在Spark中有几个维度的概
阅读全文
摘要:Spark有几种部署的模式,单机版、集群版等等,平时单机版在数据量不大的时候可以跟传统的java程序一样进行断电调试、但是在集群上调试就比较麻烦了...远程断点不太方便,只能通过Log的形式进行数据分析,利用spark ui做性能调整和优化。 那么本篇就介绍下如何利用Ui做性能分析,因为本人的经验也
阅读全文
摘要:在Spark中,也支持Hive中的自定义函数。自定义函数大致可以分为三种: UDF(User Defined Function),即最基本的自定义函数,类似to_char,to_date等 UDAF(User Defined Aggregation Funcation),用户自定义聚合函数,类似在g
阅读全文
摘要:有了前面spark shell的经验,看这两个脚本就容易多啦。前面总结的Spark shell的分析可以参考: "Spark源码分析之Spark Shell(上)" "Spark源码分析之Spark Shell(下)" Spark submit if [ z "${SPARK_HOME}" ]; t
阅读全文
摘要:继上次的Spark shell脚本源码分析,还剩下后面半段。由于上次涉及了不少shell的基本内容,因此就把trap和stty放在这篇来讲述。 上篇回顾: "Spark源码分析之Spark Shell(上)" 总结一下,上面的代码大体上做了三件事: 1 捕获终端信号,执行退出方法,恢复一些操作 2
阅读全文
摘要:终于开始看Spark源码了,先从最常用的spark shell脚本开始吧。不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的。另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其实都可以通过这种方式来寻找源码入口。 先来介绍一下Spark shell是什么? Spark she
阅读全文
摘要:Actions reduce(func) Aggregate the elements of the dataset using a function func (which takes two arguments and returns one). The function should be c
阅读全文
摘要:Spark相比于Mapreduce的一大优势就是提供了很多的方法,可以直接使用;另一个优势就是执行速度快,这要得益于DAG的调度,想要理解这个调度规则,还要理解函数之间的依赖关系。 本篇就着重描述下Spark提供的Transformations方法. 依赖关系 宽依赖和窄依赖 窄依赖(narrow
阅读全文
摘要:本篇文档是介绍如何快速使用spark,首先将会介绍下spark在shell中的交互api,然后展示下如何使用java,scala,python等语言编写应用。可以查看 "编程指南" 了解更多的内容。 为了良好的阅读下面的文档,最好是结合实际的练习。首先需要 "下载spark" ,然后安装hdfs,可
阅读全文
摘要:
阅读全文
摘要:这章讲述了Spark编程中的高级部分,比如累加器和广播等,以及分区和管道...
阅读全文
摘要:由于Spark是在Hadoop家族之上发展出来的,因此底层为了兼容hadoop,支持了多种的数据格式。如S3、HDFS、Cassandra、HBase,有了这些数据的组织形式,数据的来源和存储都可以多样化~
阅读全文
摘要:
阅读全文