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
相关推荐
首先,我们要了解大数据Big Data的基本概念。大数据是指无法在一定时间内用传统数据处理软件工具进行捕获、管理和处理的数据集合。它具有海量性、多样性、高速性和价值密度低的特性。大数据技术的应用涵盖了各行各业...
《华为HCIA-Big Data V3.0大数据培训教材与实验手册详解》 在当今数字化时代,大数据技术已经成为企业竞争力的重要组成部分。华为作为全球领先的ICT解决方案供应商,推出了HCIA-Big Data V3.0认证,旨在培养具备...
此外,还将讲解NoSQL数据库、流处理框架如Spark、实时数据处理和大数据存储解决方案等内容。 三、数据挖掘技术 数据挖掘是大数据分析的关键部分,学员将学习如何运用各种数据挖掘方法,如分类、聚类、关联规则、...
Spark是Apache软件基金会下的一个开源大数据处理框架,它以其高效、灵活和易用性而闻名。这个"spark-3.1.3-bin-without-hadoop.tgz"压缩包是Spark的3.1.3版本,不含Hadoop依赖的二进制发行版。这意味着在部署时,你...
Apache Spark 是一个强大的开源大数据处理框架,主要用于快速、通用以及可扩展的数据处理。在这个特定的压缩包"spark-3.1.3-bin-hadoop3.2.tgz"中,我们得到了Spark的3.1.3版本,它已经预编译为与Hadoop 3.2兼容。这...
HCIA-Big Data认证主要涵盖了大数据的基础知识、存储、处理、分析以及应用等关键领域。以下是一些可能在题库中涉及的重要知识点: 1. **大数据概念**:大数据是指数据量巨大、类型繁多、增长快速且处理难度高的数据...
Spark 2.4.7 是 Apache Spark 的一个重要版本,它是一个流行的开源大数据处理框架,被广泛应用于大规模数据处理、机器学习以及实时流处理等领域。这次我们讨论的是"spark-2.4.7-bin-without-hadoop",这是一个不包含...
《HCIA-Big Data V3.0 培训教材》是华为认证体系中的一个重要组成部分,专注于大数据领域的基础知识和实践技能。此教材旨在为学员提供全面的大数据理论知识和技术实操,帮助他们理解和掌握大数据的核心概念、技术...
spark-recommender, 在 Scala 中使用 Apache Spark 框架,编写了可以扩展的推荐系统 火花推荐采用 Scala 框架编写的可以扩展推荐系统,使用了 Apache Spark 框架。实现的算法包括:k-最近邻居带聚类的k-近邻带簇树的...
Apache Storm和Spark Streaming等流处理框架能实现实时数据的快速处理和分析。教材会阐述这些工具的使用和配置,以及如何构建实时数据管道。 五、大数据可视化 数据可视化是大数据分析的重要环节,它能帮助用户更好...
Spark 2.4.7是Apache Spark的一个稳定版本,它为大数据处理提供了高效、易用且可扩展的框架。这个版本兼容Hadoop 2.7,这意味着它可以在使用Hadoop 2.7作为数据存储和资源管理的环境中无缝运行。Spark的核心特性包括...
Spark是Apache软件基金会下的一个开源大数据处理框架,它以其高效、灵活和易用性而闻名。Spark 3.2.1是该框架的一个稳定版本,提供了对Hadoop 3.2的支持,这意味着它可以很好地集成到Hadoop生态系统中,利用Hadoop的...
Apache Spark是一个大数据处理框架,它支持批处理、实时处理、流处理、机器学习以及图计算等应用。本文主要讲解了如何在Apache Spark环境下验证大数据及机器学习(ML)流程的正确性和稳定性。 首先,讨论了为什么...
《华为HCIE-Big Data大数据培训教材与实验指导手册》是一部深入探讨华为在大数据领域的专业知识和技术实践的综合资源。此资料包包含了一系列针对HCIE-Big Data认证的学习材料,旨在帮助学习者掌握大数据的核心概念、...
1. **大数据基础**:包括大数据的基本概念、特点和应用,以及大数据处理的关键技术,如Hadoop、Spark等分布式计算框架。 2. **Hadoop生态体系**:深入讲解HDFS(Hadoop分布式文件系统)、MapReduce编程模型,以及...
Spark是由加州伯克利大学AMP实验室在2009年开发的大数据处理框架,它以内存计算为核心,显著提升了大数据处理的效率。Spark不仅是一个计算框架,更是一个全面的大数据处理生态系统,其设计目标是为了解决Hadoop ...
数据处理主要由MapReduce或Spark等并行计算框架完成,实现数据清洗、转换和整合。数据分析涵盖了统计学、机器学习和数据挖掘等多个领域,常用工具包括Python的Pandas、NumPy,R语言,以及Apache Hadoop生态中的...
Apache大数据平台技术框架选型分析主要集中在如何利用开源技术构建一个稳定、易用、安全且高性能的数据处理系统,尤其以Apache Hadoop为基础的CDH(Cloudera Distribution Including Apache Hadoop)发行版为核心。...
大数据(Bigdata)是21世纪信息技术领域的一个关键术语,它涵盖了从数据收集、存储、分析到价值提取的全过程。大数据的特点通常被概括为“5V”:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值...
《华为HCIP-Big Data Developer V2.0大数据培训教材与实验指导》是华为认证体系中针对大数据开发专业的一项重要课程资源。此压缩包包含了全面的学习资料和实践指南,旨在帮助学习者掌握大数据处理的核心技术和华为...