Spark
文章平均质量分 77
zhouzhihubeyond
大数据技术爱好者,主要关注Spark、Hadoop、Storm、Hive、HBase等开源大数据技术,专注于大数据机器学习算法研究
展开
-
Spark国内外书籍推荐
Spark的爆发式的成长,今年Spark相关书籍明显比去年那时候多得多,这里面所国内外目前所有的书籍推荐给大家。因为在网络上,不便于将书籍的电子版公开出来,需要的可以私信我或加我微信:zhouzhihubeyond国内Spark书籍: 《Spark大数据处理:技术、应用与性能优化》,作者:高彦杰,出版社:机械工业出版社,出版时间:2014年11月,Spark版本:1.0; 《Spark大数据处理原创 2015-11-16 21:15:01 · 22771 阅读 · 11 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十节 Spark Streaming(一)
本节主要内容本节部分内容来自官方文档:http://spark.apache.org/docs/latest/streaming-programming-guide.html#mllib-operationsSpark流式计算简介Spark Streaming相关核心类入门案例1. Spark流式计算简介Hadoop的MapReduce及Spark SQL等只能进行离线计算,无法满足实时性要原创 2015-11-21 22:34:46 · 17870 阅读 · 6 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第九节 Task执行成功时的结果处理
Task执行成功时的结果处理在上一节中,给出了Task在Executor上的运行代码演示,我们知道代码的最终运行通过的是TaskRunner方法class TaskRunner( execBackend: ExecutorBackend, val taskId: Long, val attemptNumber: Int, taskName: Strin原创 2015-10-29 19:34:56 · 6021 阅读 · 3 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第七节 resourceOffers方法与launchTasks方法解析
在上一节中,我们提到Task提交通过makeOffers提交到Executor上 // Make fake resource offers on just one executor private def makeOffers(executorId: String) { // Filter out executors under killing if (!exe原创 2015-10-28 21:38:42 · 5314 阅读 · 5 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第八节 Task执行
Task执行在上一节中,我们提到在Driver端CoarseGrainedSchedulerBackend中的launchTasks方法向Worker节点中的Executor发送启动任务命令,该命令的接收者是CoarseGrainedExecutorBackend(Standalone模式),类定义源码如下:private[spark] class CoarseGrainedExecutorBack原创 2015-10-29 12:00:24 · 6104 阅读 · 1 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第六节 Task提交
Task提交在上一节中的 Stage提交中我们提到,最终stage被封装成TaskSet,使用taskScheduler.submitTasks提交,具体代码如下:taskScheduler.submitTasks(new TaskSet( tasks.toArray, stage.id, stage.latestInfo.attemptId, stage.firstJobId, p原创 2015-10-27 23:49:05 · 5146 阅读 · 0 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第五节 Stage提交
Stage提交调用流程: 1.org.apache.spark.scheduler.DAGScheduler.handleJobSubmitted 2. org.apache.spark.scheduler.DAGScheduler.handleJobSubmitted.submitStage 3. org.apache.spark.scheduler.DAGScheduler.handleJ原创 2015-10-26 17:45:45 · 5218 阅读 · 1 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第七节 Spark运行原理
本节主要内容Spark运行方式Spark运行原理解析本节内容及部分图片来自: http://blog.csdn.net/book_mmicky/article/details/25714419 http://blog.csdn.net/yirenboy/article/details/47441465 这两篇文件对Spark的运行架构原理进行了比较深入的讲解,写得非常好,建议大家认真看一原创 2015-09-22 19:54:01 · 22691 阅读 · 2 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第六节 Spark编程模型(三)
本节主要内容RDD transformation(续)RDD actions1. RDD transformation(续)(1)repartitionAndSortWithinPartitions(partitioner) repartitionAndSortWithinPartitions函数是repartition函数的变种,与repartition函数不同的是,repartition原创 2015-09-21 22:13:12 · 14084 阅读 · 2 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第四节 Stage划分
Stage划分在上一节中我们讲了 Spark Job的提交,在该讲中我们提到,当rdd触发action操作之后,会调用SparkContext的runJob方法,最后调用的DAGScheduler.handleJobSubmitted方法完成整个job的提交。然后DAGScheduler根据RDD的lineage进行Stage划分,再生成TaskSet,由TaskScheduler向集群申请资源,最原创 2015-10-24 23:48:04 · 7046 阅读 · 4 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第十节 Standalone运行模式解析
Spark Standalone采用的是Master/Slave架构,主要涉及到的类包括:类:org.apache.spark.deploy.master.Master说明:负责整个集群的资源调度及Application的管理。消息类型:接收Worker发送的消息1. RegisterWorker2. ExecutorStateChanged3. WorkerSchedulerState原创 2015-11-09 23:35:09 · 9512 阅读 · 6 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第二节 SparkContext的创建
博文推荐:http://blog.csdn.net/anzhsoft/article/details/39268963,由大神张安站写的Spark架构原理,使用Spark版本为1.2,本文以Spark 1.5.0为蓝本,介绍Spark应用程序的执行流程。 本文及后面的源码分析都以下列代码为样板import org.apache.spark.{SparkConf, SparkContext}obje原创 2015-10-25 00:03:42 · 7492 阅读 · 6 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十一节 Spark Streaming—— DStream Transformation操作
本节主要内容本节部分内容来自官方文档:http://spark.apache.org/docs/latest/streaming-programming-guide.htmlDStream Transformation操作1. Transformation操作 Transformation Meaning map(func) 对DStream中的各个元素进行func函数操作,然后原创 2015-11-25 23:54:57 · 13769 阅读 · 1 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建
作者:周志湖 网名:摇摆少年梦 微信号:zhouzhihubeyond本节主要内容操作系统环境准备Hadoop 2.4.1集群搭建Spark 1.5.0 集群部署注:在利用CentOS 6.5操作系统安装spark 1.5集群过程中,本人发现Hadoop 2.4.1集群可以顺利搭建,但在Spark 1.5.0集群启动时出现了问题(可能原因是64位操作系统原因,源码需要重新编译,但本人没经原创 2015-12-28 21:36:41 · 35997 阅读 · 26 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第十二节 Spark SQL 处理流程分析
作者:周志湖下面的代码演示了通过Case Class进行表Schema定义的例子:// sc is an existing SparkContext.val sqlContext = new org.apache.spark.sql.SQLContext(sc)// this is used to implicitly convert an RDD to a DataFrame.import原创 2015-12-28 23:38:51 · 18390 阅读 · 5 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第三节 Spark Intellij IDEA开发环境搭建
作者:周志湖 网名:摇摆少年梦 微信号:zhouzhihubeyond本节主要内容Intellij IDEA 14.1.4开发环境配置Spark应用程序开发1. Intellij IDEA 14.1.4开发环境配置Intellij IDEA 功能十分强大,能够开发JAVA、Scala等相关应用程序,在依赖管理 智能提示等方面做到了极致,大家可以到:http://ww原创 2015-09-19 21:21:32 · 21148 阅读 · 5 评论 -
Spark-1.4.0集群搭建
主要内容Ubuntu 10.04 系统设置ZooKeeper集群搭建Hadoop-2.4.1集群搭建Spark 1.4.0集群搭建原创 2015-07-14 21:39:59 · 6069 阅读 · 0 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十节 Spark SQL案例实战(一)
作者:周志湖1. 获取数据本文通过将github上的Spark项目git日志作为数据,对SparkSQL的内容进行详细介绍 数据获取命令如下:[root@master spark]# git log --pretty=format:'{"commit":"%H","author":"%an","author_email":"%ae","date":"%ad","message":"%f"}' >原创 2016-02-05 23:56:32 · 9633 阅读 · 6 评论 -
Spark Shuffle模块——Suffle Read过程分析
在阅读本文之前,请先阅读Spark Sort Based Shuffle内存分析Spark Shuffle Read调用栈如下: 1. org.apache.spark.rdd.ShuffledRDD#compute() 2. org.apache.spark.shuffle.ShuffleManager#getReader() 3. org.apache.spark.shuffle.hash原创 2015-12-21 21:19:40 · 9854 阅读 · 0 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十六节 Spark Streaming与Kafka
作者:周志湖主要内容Spark Streaming与Kafka版的WordCount示例(一)Spark Streaming与Kafka版的WordCount示例(二)1. Spark Streaming与Kafka版本的WordCount示例 (一)启动kafka集群root@sparkslave02:/hadoopLearning/kafka_2.10-0.8.2.1# bin/kaf原创 2015-12-03 23:32:41 · 10172 阅读 · 3 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十五节 Kafka 0.8.2.1 集群搭建
作者:周志湖 微信号:zhouzhihubeyond本节为下一节Kafka与Spark Streaming做铺垫主要内容1.kafka 集群搭建1. kafka 集群搭建kafka 安装与配置到下面的地址下载:Scala 2.10 - kafka_2.10-0.8.2.1.tgz http://kafka.apache.org/downloads.html 下载完成后,使用命令tar原创 2015-12-02 22:43:57 · 9128 阅读 · 0 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十四节 Spark Streaming 缓存、Checkpoint机制
作者:周志湖 微信号:zhouzhihubeyond主要内容本节内容基于官方文档:http://spark.apache.org/docs/latest/streaming-programming-guide.htmlSpark Stream 缓存Checkpoint案例1. Spark Stream 缓存通过前面一系列的课程介绍,我们知道DStream是由一系列的RDD构成的,它同一般的原创 2015-11-30 23:42:36 · 31942 阅读 · 2 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第九节 Spark SQL运行流程解析
1.整体运行流程使用下列代码对SparkSQL流程进行分析,让大家明白LogicalPlan的几种状态,理解SparkSQL整体执行流程// sc is an existing SparkContext.val sqlContext = new org.apache.spark.sql.SQLContext(sc)// this is used to implicitly convert an原创 2015-12-31 10:58:21 · 16092 阅读 · 3 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十三节 Spark Streaming—— Spark SQL、DataFrame与Spark Streaming
主要内容Spark SQL、DataFrame与Spark Streaming1. Spark SQL、DataFrame与Spark Streaming源码直接参照:https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/SqlNetworkW原创 2015-11-29 16:17:02 · 14128 阅读 · 3 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第十二节 Spark Streaming—— DStream Window操作
作者:周志湖 微信号:zhouzhihubeyond本节主要内容Window Operation入门案例1. Window OperationSpark Streaming提供窗口操作(Window Operation),如下图所示: 上图中,红色实线表示窗口当前的滑动位置,虚线表示前一次窗口位置,窗口每滑动一次,落在该窗口中的RDD被一起同时处理,生成一个窗口DStream(wind原创 2015-11-29 15:38:20 · 19536 阅读 · 5 评论 -
Spark修炼之道(高级篇)——Spark源码阅读:第十三节 Spark SQL之SQLContext(一)
1. SQLContext的创建SQLContext是Spark SQL进行结构化数据处理的入口,可以通过它进行DataFrame的创建及SQL的执行,其创建方式如下://sc为SparkContextval sqlContext = new org.apache.spark.sql.SQLContext(sc)其对应的源码为:def this(sparkContext: S原创 2015-12-30 07:29:38 · 16646 阅读 · 4 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
作者:周志湖 网名:摇摆少年梦 微信号:zhouzhihubeyond本文主要内容RDD 常用Transformation函数1. RDD 常用Transformation函数(1)union union将两个RDD数据集元素合并,类似两个集合的并集 union函数参数: /** * Return the union of this RDD and another one. Any原创 2015-09-20 23:18:55 · 12935 阅读 · 0 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第四节 Spark编程模型(一)
作者:周志湖 网名:摇摆少年梦 微信号:zhouzhihubeyond本节主要内容Spark重要概念弹性分布式数据集(RDD)1. Spark重要概念本节部分内容源自官方文档:http://spark.apache.org/docs/latest/cluster-overview.html(1)Spark运行模式目前最为常用的Spark运行模式有: - l原创 2015-09-20 19:43:13 · 38020 阅读 · 2 评论 -
Spark修炼之道——Spark学习路线、课程大纲
课程内容Spark修炼之道(基础篇)——Linux基础(15讲)、Akka分布式编程(8讲)Spark修炼之道(进阶篇)——Spark入门到精通(30讲)Spark修炼之道(实战篇)——Spark应用开发实战篇(20讲)Spark修炼之道(高级篇)——Spark源码解析(50讲)部分内容会在实际编写时动态调整,或补充、或删除。Spark修炼之道(基础篇)——Linux大数据开发基础(15讲原创 2015-08-19 19:58:37 · 20578 阅读 · 25 评论 -
Spark修炼之道(基础篇)——Linux大数据开发基础:第八节:网络管理
## 本节主要内容 ## 1. ifconfig命令 2. 网络配置 3. 其它常用网络管理命令##1. ifconfig命令##ifconfig命令主要用于配置网络接口,如果不加任何参数,则ifconfig命令用于查看当前所有活动网络接口的状态信息,例如:![这里写图片描述](http://img.blog.csdn.net/20150902203702705)图中的eth0表示活动的以太网接口,原创 2015-09-02 21:59:09 · 7767 阅读 · 3 评论 -
Spark修炼之道(基础篇)——Linux大数据开发基础:第七节:进程管理
## 本节主要内容 ## 1. 进程管理简介 2. 进程管理常用命令 3. 计划任务 ## 1. 进程管理简介 ##### (1)进程概念进程是操作系统中非常重要的一个概念,进程是程序的执行过程,相对于程序,进程是动态的,在linux系统中,它与用户权限相关,程序与进程并没有一一对应,一个程序可能对应多个进程,例如:原创 2015-09-02 09:25:54 · 7457 阅读 · 3 评论 -
SparkSQL(Spark-1.4.0)实战系列(三)——SparkSQL应用案例
本节主要内容数据准备案例实战数据准备将实验数据Date.txt、Stock.txt、StockDetail.txt(hadoop fs -put /data /data)上传到HDFS上,如下图所示 Date.txt格式如下://Date.txt文件定义了日期的分类,将每天分别赋予所属的月份、星期、季度等属性 //日期,年月,年,月,日,周几,第几周,季度,旬、半月 2014-12-2原创 2015-07-18 22:22:22 · 7938 阅读 · 2 评论 -
Spark修炼之道(基础篇)——Linux大数据开发基础:第六节:vi、vim编辑器(二)
本节主要内容缓冲区的使用文件的存盘与读盘文本查找文本替换1. 缓冲区的使用在利用vim进行文本编辑时,编辑修改后的文本不会立即保存到硬盘上,而是保存在缓冲区中,如果没有把缓冲区里的文件存盘,原始文件不会被更改。vim在打开文件时将文本内容读到缓冲区中,在进行文本编辑时,修改的文本保存在缓冲区,此时硬盘上的原文件不变。下面让我们来演示一下缓冲区的使用。 假设采用vim 同时打开两个文本文件原创 2015-08-25 21:23:15 · 6351 阅读 · 1 评论 -
Spark修炼之道(基础篇)——Linux大数据开发基础:第五节:vi、vim编辑器(一)
本节主要内容vim编辑器的三种模式移动光标输入模式修改文本作者:周志湖 微信号:zhouzhihubeyond 网名:摇摆少年梦1. vi编辑器的三种模式学会使用vi编辑器是学习linux系统的必备技术之一,因为一般的linux服务器是没有GUI界面的,linux运维及开发人员基本上都是通过命令行的方式进行文本编辑或程序编写的。vi编辑器是linux内置的文本编辑器,几乎所有的类uni原创 2015-08-25 15:48:14 · 5171 阅读 · 0 评论 -
SparkSQL(Spark-1.4.0)实战系列(二)——DataFrames进阶
本节主要内容如下DataFrame与RDD的互操作实战不同数据源构建DataFrame实战DataFrame与RDD的互操作实战1 采用反映机制进行Schema类型推导(RDD到DataFrame的转换) SparkSQL支持RDD到DataFrame的自动转换,实现方法是通过Case类定义表的Schema,Spark会通过反射机制读取case class的参数名并将其配置成表的列名。//导原创 2015-07-17 19:21:46 · 3896 阅读 · 0 评论 -
Spark修炼之道系列教程预告
课程内容Spark修炼之道(基础篇)——Linux基础(12讲)大纲Spark修炼之道(进阶篇)——Spark入门到精通(30讲)大纲Spark修炼之道(实战篇)——Spark应用开发实战篇(20讲)大纲Spark修炼之道(高级篇)——Spark源码解析(50讲)大纲1. Spark修炼之道(基础篇)——Linux基础(12讲)大纲2. Spark修炼之道(进阶篇)——Spa原创 2015-08-24 09:56:35 · 11589 阅读 · 32 评论 -
Spark修炼之道(基础篇)——Linux大数据开发基础:第四节:Linux文件系统(二)
本节主要内容访问控制列表ACL链接压缩和归档文件其他日常管理实用程序1. 访问控制列表ACL在实际使用使用过程中,可能linux系统自身权限控制不能满足要求,还需要进一步细化,此时可以用ACL( Access Control List )进行,它主要提供 owner,group,others 的 read,write,execute 权限之外的细部权限配置。它可以针对单一使用者,单一文件或原创 2015-08-23 22:48:11 · 5231 阅读 · 0 评论 -
SparkSQL(Spark-1.4.0)实战系列(一)——DataFrames基础
主要内容本教程中所有例子跑在Spark-1.4.0集群上DataFrames简介DataFrame基本操作实战DataFrames简介本文部分内容译自https://databricks.com/blog/2015/02/17/introducing-dataframes-in-spark-for-large-scale-data-science.htmlDataFrames在Spark-1.原创 2015-07-15 23:03:27 · 3789 阅读 · 1 评论 -
Spark修炼之道(基础篇)——Linux大数据开发基础:第三节:用户和组
本节主要内容理解用户和组的概念用户管理组管理权限分配1. 理解用户和组的概念在第一讲中我们提到,linux是一种多任务、多用户的操作系统,在讲ls -l命令行我们看到如下文件详细信息:root@ubuntu:/home/xtwy# ls -ltotal 48drwxr-xr-x 2 xtwy xtwy 4096 2015-08-20 23:31 Desktopdrwxr-xr-x 2原创 2015-08-23 14:47:19 · 5885 阅读 · 0 评论 -
Spark修炼之道(进阶篇)——Spark入门到精通:第八节 Spark SQL与DataFrame(一)
本节主要内宾Spark SQL简介DataFrame1. Spark SQL简介Spark SQL是Spark的五大核心模块之一,用于在Spark平台之上处理结构化数据,利用Spark SQL可以构建大数据平台上的数据仓库,它具有如下特点: (1)能够无缝地将SQL语句集成到Spark应用程序当中 (2)统一的数据访问方式 DataFrames and SQL provide a c原创 2015-09-26 16:30:23 · 15315 阅读 · 4 评论