转自 http://dblab.xmu.edu.cn/post/8274/ 0.案例概述 本案例利用Spark+Kafka实时分析男女生每秒购物人数,利用Spark Streaming实时处理用户购物日志,然后利用websocket将数据实时推送给浏览器,最后浏览器将接收到的数据实时展现,案例的整体框架图如下: 下面分析详细分析下上述步骤: 应用程序将购物日志发送给Kafka,topic为"sex",因为这里只是统计购物男女生人数,所以只需要发送购物日志中性别属性即可.这里采用模拟的方…
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第6期互动问答分享] Q1:spark streaming 可以不同数据流 join吗? Spark Streaming不同的数据流可以进行join操作:       Spark Streaming is an extension of the core Spark API that allows enables high-throughput, fault-tolerant stream processing of live…
"决胜云计算大数据时代" Spark亚太研究院100期公益大讲堂 [第15期互动问答分享] Q1:AppClient和worker.master之间的关系是什么? AppClient是在StandAlone模式下SparkContext.runJob的时候在Client机器上应       用程序的代表.要完毕程序的registerApplication等功能. 当程序完毕注冊后Master会通过Akka发送消息给client来启动Driver: 在Driver中管理Task和控制Wo…
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第13期互动问答分享] Q1:tachyon+spark框架现在有很多大公司在使用吧? Yahoo!已经在长期大规模使用: 国内也有公司在使用: Q2:impala和spark sql如何选择呢? Impala已经被官方宣布“安乐死”,被官方温柔的放弃: Spark SQL是Spark的核心子框架,同时能够和图计算.机器学习框架无缝集成,强烈推荐使用! Q3:如果有程序采用流式不停往tachyon集群写数据,但tachyon内存…
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第10期互动问答分享] Q1:Spark on Yarn的运行方式是什么? Spark on Yarn的运行方式有两种:Client和Cluster模 Client模式如下所示: Cluster模式如下所示: Q2:Yarn的框架内部是如何实现的? 公开课: 上海:9月26-28日,<决胜大数据时代:Hadoop.Yarn.Spark企业级最佳实践> 北京: 10月26-28日, <决胜大数据时代:Hadoop.Yarn…
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第8期互动问答分享] Q1:spark线上用什么版本好? 建议从最低使用的Spark 1.0.0版本,Spark在1.0.0开始核心API已经稳定: 从功能的角度考虑使用最新版本的Spark 1.0.2也是非常好的,Spark 1.0.2在Spark 1.0.1的基础上做了非常多的改进: Spark 1.0.2改进参考 http://spark.apache.org/releases/spark-release-1-0-2.ht…
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第7期互动问答分享] Q1:Spark中的RDD到底是什么? RDD是Spark的核心抽象,可以把RDD看做“分布式函数编程语言”. RDD有以下核心特征: A list of partitions A function for computing each split A list of dependencies on other RDDs Optionally, a Partitioner for key-value RDD…
Kafka概述 1.1 消息队列     (1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端.这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此. (2)发布/订阅模式(一对多,数据生产后,推送给所有订阅者) 发布订阅模型则是一个基于推送的消息传送模型.发布订阅模型可以有多种不同的订阅者,临时订阅者只在主动监听主题时才接收消息,而持久订…
1. Spark 内核概述 Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制.Spark任务调度机制.Spark内存管理机制.Spark核心功能的运行原理等,熟练掌握Spark内核原理,能够帮助我们更好地完成Spark代码设计,并能够帮助我们准确锁定项目运行过程中出现的问题的症结所在. 1.1 Spark核心组件回顾 1.1.1 Driver Spark驱动器节点,用于执行Spark任务中的main方法,负责实际代码的执行工作.Driver在Spark作业执行时主要负…
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集群的搭建 elasticsearch集群的搭建 alluxio集群的搭建 1.kafak简介 Kafka是一个分布式.分区的.多副本的.多订阅者的消息队列,以高吞吐量著称,主要用于实时数据的传输和处理,总体架构如下 更多内容请阅读官网 http://kafka.apache.org/document…
第1章 Spark概述 1.1 什么是Spark 1.2 Spark内置模块 Spark Core:实现了Spark的基本功能,包含任务调度.内存管理.错误恢复.与存储系统交互等模块.Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义. Spark SQL:是Spark用来操作结构化数据的程序包.通过Spark SQL,我们可以使用 SQL或者Apache Hive版本的SQL方言(HQL)来查询数据.Spark…
一 .Spark概述 官网:http://spark.apache.org 1.        什么是spark Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目.项目是用Scala进行编写. 目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL.Spark Streaming.GraphX.MLib.SparkR等子…
数据分析中将两个数据集进行 Join 操作是很常见的场景.在 Spark 的物理计划阶段,Spark 的 Join Selection 类会根 据 Join hints 策略.Join 表的大小. Join 是等值 Join 还是不等值以及参与 Join 的 key 是否可以排序等条件来选择最 终的 Join 策略,最后 Spark 会利用选择好的 Join 策略执行最终的计算.当前 Spark 一共支持五种 Join 策略: Broadcast hash join (BHJ) Shuffle…
1 渊源 于2009由Matei Zaharia创立了spark大数据处理和计算框架,基于内存,用scala编写. 2 部署 2.1 需要软件包 下载路径见已有博文 Jdk ——因为运行环境为jvm Python2.7 Scala2.10.4 Spark1.0.1 Hadoop stable version 如果搭建yarn的spark,需要部署yarn版本的hadoop 2.2 配置依赖 <groupId>org.apache.spark</groupId> <artifa…
第一章 Spark 性能调优 1.1 常规性能调优 1.1.1 常规性能调优一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围内,增加资源的分配与性能的提升是成正比的,实现了最优的资源配置后,在此基础上再考虑进行后面论述的性能调优策略. 资源的分配在使用脚本提交Spark任务时进行指定,标准的Spark任务提交脚本如代码清单2-1所示: 代码清单2-1 标准Spark提交脚本 /usr/opt/modules/spark/bin/spark-submit \ --…
Q1:Master和Driver的是同一个东西吗? 两者不是同一个东西,在Standalone模式下Master是用于集群资源管理和调度的,而Driver适用于指挥Worker上的Executor通过多线的方式处理任务的: Master位于集群的管理节点,一般和 NameNode在同一个节点上: Driver一般都位于客户机上,客户机一般都不属于集群,但是和集群在同一个网络环境下,因为客户机中的Driver要和集群中的Executor频繁的交互: Q2:Standalone和Yarn之间如何选择…
已经自学了好几个月的大数据了,第一个月里自己通过看书.看视频.网上查资料也把hadoop(1.x.2.x).spark单机.伪分布式.集群都部署了一遍,但经历短暂的兴奋后,还是觉得不得门而入. 只有深入大数据开发才能逐步掌握大数据.而首先要搭开发环境,对于一个像我这样之前只做过plsql开发的人来说,确实走了很多弯路.一开始目标设得很高,直接下源代码编译成jar包进行使用,后来发现其实没什么必要,受到一些非技术因素尤其是天朝特色社会主义网络的影响,sbt基本无法使用,直接下官方编译好的版本就行了…
一.背景 先说一下,为什么要使用 Flume + Kafka? 以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kafka 就可以起到削峰的作用.Kafka 天生为大数据场景而设计,具有高吞吐的特性,能很好地抗住峰值数据的冲击. 二.整合流程 Flume 发送数据到 Kafka 上主要是通过 KafkaSink 来实现的,主…
1.连接mysql --driver-class-path mysql-connector-java-5.1.21.jar 在数据库中,SET GLOBAL binlog_format=mixed; 2.Spark中 使用Hive的udf 同样使用-jars 才行 3.Spark jupyter使用 https://www.jb51.net/article/163641.htm https://my.oschina.net/albert2011/blog/754174 使用jupyter-not…
在新技术层出不穷的当下,世界各地的组织正在以闪电般的速度变化和进化,以便在新技术可用时加以利用.其中目前最具活力的一个领域是商业智能(BI).想一想,你可能已经习惯以每周或每月IT或数据科学家交付给你的度量标准的形式使用BI数据.然而,一个现代的BI在一个医院中应该具备什么样的关键技术?接下来以Smartbi大数据分析系统为例为大家做详细介绍. 一个医院大数据平台建设必须具备四个关键技术,它们分别是ETL技术.数据仓库技术.OLAP技术.BI展现技术. 1) ETL技术 - 跨多个业务系统的数据…
https://www.bilibili.com/video/av29407581?p=1 若泽大数据官网 http://www.ruozedata.com/ tidb 系列三:有了sparkjdbc为什么还要tispark http://www.zdingke.com/2019/02/26/tidb-%E7%B3%BB%E5%88%97%E4%B8%89%EF%BC%9A%E6%9C%89%E4%BA%86sparkjdbc%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%9…
1.简答说一下hadoop的map-reduce编程模型 首先map task会从本地文件系统读取数据,转换成key-value形式的键值对集合 使用的是hadoop内置的数据类型,比如longwritable.text等 将键值对集合输入mapper进行业务处理过程,将其转换成需要的key-value在输出 之后会进行一个partition分区操作,默认使用的是hashpartitioner,可以通过重写hashpartitioner的getpartition方法来自定义分区规则 之后会对ke…
变量的定义 val a: Int = 1 var b = 2 方法和函数 区别:函数可以作为参数传递给方法 方法: def test(arg: Int): Int=>Int ={ 方法体 } val fun = (test _: Int =>(Int=>Int))=>函数体 逻辑执行语句 val a = if(条件){ 执行逻辑 返回值 }else{ 执行逻辑 } while(条件){ 执行逻辑 } val arr = Array(1,2,3,4,5) for(i <- 0…
一.版本说明 Spark 针对 Kafka 的不同版本,提供了两套整合方案:spark-streaming-kafka-0-8 和 spark-streaming-kafka-0-10,其主要区别如下: spark-streaming-kafka-0-8 spark-streaming-kafka-0-10 Kafka 版本 0.8.2.1 or higher 0.10.0 or higher AP 状态 Deprecated从 Spark 2.3.0 版本开始,Kafka 0.8 支持已被弃用…
iplocation需求 在互联网中,我们经常会见到城市热点图这样的报表数据,例如在百度统计中,会统计今年的热门旅游城市.热门报考学校等,会将这样的信息显示在热点图中. 因此,我们需要通过日志信息(运行商或者网站自己生成)和城市ip段信息来判断用户的ip段,统计热点经纬度. 练习数据 链接:https://pan.baidu.com/s/14IA1pzUWEnDK_VCH_LYRLw 提取码:pnwv package org.apache.spark import org.apache.spar…
Spark相比于Mapreduce的一大优势就是提供了很多的方法,可以直接使用:另一个优势就是执行速度快,这要得益于DAG的调度,想要理解这个调度规则,还要理解函数之间的依赖关系. 本篇就着重描述下Spark提供的Transformations方法. 依赖关系 宽依赖和窄依赖 窄依赖(narrow dependencies) 窄依赖是指父RDD仅仅被一个子RDD所使用,子RDD的每个分区依赖于常数个父分区(O(1),与数据规模无关). 输入输出一对一的算子,且结果RDD的分区结构不变.主要是ma…
Actions reduce(func) Aggregate the elements of the dataset using a function func (which takes two arguments and returns one). The function should be commutative and associative so that it can be computed correctly in parallel. 这个方法会传入两个参数,计算这两个参数返回一个…
1.究竟什么是RDD呢? 有人可能会回答是:Resilient Distributed Dataset.没错,的确是如此.但是我们问这个实际上是想知道RDD到底是个什么东西?以及它到底能干嘛?好的,有了问题,那么我们带着问题往下看,总会有答案的.2.hadoop的计算模型&spark的计算模型 (1)首先我们可以看一下hadoop的计算模型:在这幅图中,每一次job的运行都需要对数据进行磁盘的读写操作.…
kafka2.0 http://kafka.apache.org 一 简介 Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies. Kafka常用来构建实时数据管道或者流式应用.它支持水平扩展,…
1. 什么是Task? 在前面的章节里描写叙述过几个角色,Driver(Client),Master,Worker(Executor),Driver会提交Application到Master进行Worker上的Executor上的调度,显然这些都不是Task. Spark上的几个关系能够这样理解: Application: Application是Driver在构建SparkContent的上下文的时候创建的,就像申报员,如今要构建一个能完毕任务的集群,须要申报的是这次须要多少个Executor…