Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右。
Spark是hadoop的升级版本,Hadoop作为第一代产品使用HDFS,第二代加入了Cache来保存中间计算结果,并能适时主动推Map/Reduce任务,第三代就是Spark倡导的流Streaming。
Spark兼容Hadoop的APi,能够读写Hadoop的HDFS HBASE 顺序文件等。
传统Hadoop如下图 性能慢原因有:磁盘IO 复制和序列化等等,涉及图中的HDFS
而在Spark中,使用内存替代了使用HDFS存储中间结果:
Spark架构图
Spark的编程模型
弹性的分布数据集(RDD) :分布式对象集合能够跨集群在内存中保存。多个并行操作,失败自动恢复。
使用内存集群计算, 内存访问要比磁盘快得多。有Scala Java Python API,能够从Scala和Python访问。
下面是一个简单的对日志log计数的代码:
/*** SimpleJob.scala ***/
import spark.SparkContext
import SparkContext._
object SimpleJob {
def main(args: Array[String]) {
val logFile = "/var/log/syslog" // Should be some file on your system
val sc = new SparkContext("local", "Simple Job", "$YOUR_SPARK_HOME",
List("target/scala-2.9.3/simple-project_2.9.3-1.0.jar"))
val logData = sc.textFile(logFile, 2).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
}
}
运行原理图:
当进行filter操作是,是一种transformed RDD,RDD跟踪这种转换,当有数据丢失失败时,重新计算 得到这个数据。
Spark支持物流logistic表达式,如下图:
物流表达式相比Hadoop的遍历性能:
支持以下数据分析操作:
Spark流处理
以推流方式处理数据:
Shark
Shark是基于Spark上的“Hive”,看看基于hadoop的Hive:
而Shark的结构图:
Hive是记录每行记录一个对象,而shark是每列记录:
执行SQL时间对比:
http://www.jdon.com/bigdata/spark.html
相关推荐
spark-recommender, 在 Scala 中使用 Apache Spark 框架,编写了可以扩展的推荐系统 火花推荐采用 Scala 框架编写的可以扩展推荐系统,使用了 Apache Spark 框架。实现的算法包括:k-最近邻居带聚类的k-近邻带簇树的...
Big-Data-Hadoop-and-Spark-Developer 大数据 / SCALA / HADOOP 很棒的大数据 一个很棒的大数据框架、资源和其他很棒的精选列表。 灵感来自 , , , & 。 随时欢迎您的贡献! 关系型数据库管理系统 世界上最流行的开源...
段智华,就职于中国电信股份有限公司上海分公司,系统架构师,CSDN博客专家,专注于Spark大数据技术研发及推广,跟随Spark核心源码技术的发展,深入研究Spark 2.1.1版本及Spark 2.2. 0版本的源码优化,对Spark大数据...
001 - Spark框架 - 简介.avi 002 - Spark框架 - Vs Hadoop.avi 003 - Spark框架 - 核心模块 - 介绍.avi 005 - Spark框架 - 快速上手 - WordCount - 案例分析.avi 009 - Spark框架 - 快速上手 - WordCount - Spark的...
-框架(Spark MLlib) 16:00 - 16:15 - 休息 16:15 - ? -在云端训练 MLLib 模型 关于我… 过去 10 年在初创公司/企业/学院/咨询公司担任数据科学家/数据工程师/机器学习工程师/软件开发人员/devops 通才:“对各种
大数据相关框架学习 本仓库主要存放了一些学习...spark-train, spark-data-visualization Spark Streaming实时流处理项目实战 本课程从实时数据产生和流向的各个环节出发,通过集成主流的分布式日志收集框架Flume、分布
大数据平台技术框架选型分析 • 批处理引擎(MapReduce, Hive, Spark) - 适合长时间的数据处理作业,高度 成熟可靠 • 实时数据处理(Spark Streaming)- 实时的数据同时,异常检测,预测分析等 • 自助BI分析/交互...
jun_bigdata大数据平台服务框架。实现了Kafka实时数据过滤、清洗、转换、消费,实现了Spark SQL对.zip
大数据开发面试篇第一部分:大数据开发基础篇一,Java基础 二,NIO基础三,Java并发容器 四,JVM深度解析和面试点先来10篇基础热身再来5篇详细解说五,分布式理论基础和原理六,大数据框架开发基础-Zookeeper七,...
一个很棒的大数据框架、资源和其他很棒的精选列表。 灵感来自 , , , & 。 随时欢迎您的贡献! 关系型数据库管理系统 世界上最流行的开源数据库。 世界上最先进的开源数据库。 - 对象关系数据库管理系统。 - 高性能 ...
与大数据生态系统中的许多流行技术集成(Kafka,HDFS,Spark等) 分布式处理框架。 集成MapReduce(并行处理),YARN(作业调度)和HDFS(分布式文件系统)。 高吞吐量实时流处理框架。 -Pachyderm是基于Docker...
与大数据生态系统中的许多流行技术(Kafka、HDFS、Spark 等)集成 - 分布式处理框架。 集成 MapReduce(并行处理)、YARN(作业调度)和 HDFS(分布式文件系统)。 - 高吞吐量实时流处理框架。 - Pachyderm 是一个...
一个很棒的大数据框架、资源和其他很棒的精选列表。 灵感来自 , , , & 。 随时欢迎您的贡献! 关系型数据库管理系统 世界上最流行的开源数据库。 世界上最先进的开源数据库。 - 对象关系数据库管理系统。 - 高性能 ...
大数据课程(UE17CS313)中的作业测试框架。 该项目用于评估300多名学生的Hadoop,Spark和Spark Streaming作业。 设置 克隆回购 创建venv python3 -m venv /path/to/new/virtual/environment 使用source /path/to/...
一个很棒的大数据框架、资源和其他很棒的精选列表。 灵感来自 , , , & 。 随时欢迎您的贡献! 关系型数据库管理系统 世界上最流行的开源数据库。 世界上最先进的开源数据库。 - 对象关系数据库管理系统。 - 高性能 ...
基于Spark的全球新冠疫情系统的分析与实现
常用的大数据相关处理技术框架 1、Hadoop Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2、Spark Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序 3、Flink ...
与大数据生态系统中的许多流行技术(Kafka、HDFS、Spark 等)集成 - 分布式处理框架。 集成 MapReduce(并行处理)、YARN(作业调度)和 HDFS(分布式文件系统)。 - 高吞吐量实时流处理框架。 - Pachyderm 是一个...
与大数据生态系统中的许多流行技术(Kafka、HDFS、Spark 等)集成 - 分布式处理框架。 集成 MapReduce(并行处理)、YARN(作业调度)和 HDFS(分布式文件系统)。 - 高吞吐量实时流处理框架。 - Pachyderm 是一个...