`

Spark进行大数据处理 (一)

 
阅读更多

什么是Spark

Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一。

 

Spark 系统组成



除了Spark核心API之外,Spark生态系统中还包括其他附加库,可以在大数据分析和机器学习领域提供更多的能力。

这些库包括:

  • Spark Streaming:
    • Spark Streaming基于微批量方式的计算和处理,可以用于处理实时的流数据。它使用DStream,简单来说就是一个弹性分布式数据集(RDD)系列,处理实时数据。
  • Spark SQL:
    • Spark SQL可以通过JDBC API将Spark数据集暴露出去,而且还可以用传统的BI和可视化工具在Spark数据上执行类似SQL的查询。用户还可以用Spark SQL对不同格式的数据(如JSON,Parquet以及数据库等)执行ETL,将其转化,然后暴露给特定的查询。
  • Spark MLlib:
    • MLlib是一个可扩展的Spark机器学习库,由通用的学习算法和工具组成,包括二元分类、线性回归、聚类、协同过滤、梯度下降以及底层优化原语。
  • Spark GraphX:
    • GraphX是用于图计算和并行图计算的新的(alpha)Spark API。通过引入弹性分布式属性图(Resilient Distributed Property Graph),一种顶点和边都带有属性的有向多重图,扩展了Spark RDD。为了支持图计算,GraphX暴露了一个基础操作符集合(如subgraph,joinVertices和aggregateMessages)和一个经过优化的Pregel API变体。此外,GraphX还包括一个持续增长的用于简化图分析任务的图算法和构建器集合。

 

Spark有哪些优势

与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势:

1、Spark为我们提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求。

2、Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍,甚至能够将应用在磁盘上的运行速度提升10倍。

3、可以快速的用Java、Scala或Python编写Spark程序。

4、除了Map和Reduce操作之外,它还支持SQL查询,流数据,机器学习和图表数据处理。

 

Spark应用举例

// 创建StreamingContext,1秒一个批次
val ssc = new StreamingContext(sparkConf, Seconds(1));

// 获得一个DStream负责连接 监听端口:地址
val lines = ssc.socketTextStream(serverIP, serverPort);

// 对每一行数据执行Split操作
val words = lines.flatMap(_.split(" "));
// 统计word的数量
val pairs = words.map(word => (word, 1));
val wordCounts = pairs.reduceByKey(_ + _);

// 输出结果
wordCounts.print();

ssc.start();             // 开始
ssc.awaitTermination();  // 计算完毕退出

 

// 创建Spark SQLContext
val sqlContext = new org.apache.spark.sql.SQLContext(sc)

// 创建一个DataFrame
val dataFrame = sqlContext.read.json("/user/razor/event_conversion.log")

// 展示dataFrame中的内容
dataFrame.show()

// 树形结构展示dataFrame中存在的字段和数据类型
dataFrame.printSchema()

// 从dataFrame中查询event_identifier列
dataFrame.select("event_identifier").show()

 

 

Spark MLlb/ Graphx的应用和Spark streaming/ Spark SQL在生产环境大数据系统的应用请关注后续介绍

 

 

 

 

 

  • 大小: 73.2 KB
分享到:
评论

相关推荐

    Spark大数据处理 技术 应用与性能优化 完整版 pdf

    Spark作为一款快速、通用且可扩展的数据处理框架,因其高效的内存计算和易用性,在大数据处理领域备受青睐。下面将对Spark的关键特性、应用场景以及性能优化进行详细阐述。 一、Spark核心技术 1. Resilient ...

    Spark大数据处理平台的构建及应用.pdf

    总结来说,构建一个高效、稳定、易于管理的Spark大数据处理平台需要考虑多方面因素,包括合理的架构设计、功能模块的完整性和针对性优化、以及强健的监控与数据采集系统。此外,为了满足不断变化的大数据计算需求,...

    数据算法--HadoopSpark大数据处理技巧.pdf

    这份“数据算法--HadoopSpark大数据处理技巧”文档显然探讨了如何利用这两个工具进行复杂的数据操作,具体涉及到Scala编程实现的两个重要算法:Secondary Sort(二级排序)和Common Friends(共同朋友计算)。...

    Spark 大数据处理技术

    使用Spark进行大数据处理,一般步骤包括: 1. 数据的导入:首先需要将数据导入到Spark环境中,可以通过HDFS、HBase等存储系统,也可以使用Spark内置的数据源。 2. 数据处理:Spark提供了基于RDD的操作来处理导入的...

    数据算法Hadoop/Spark大数据处理技巧 源代码

    Spark是后来出现的大数据处理框架,它在Hadoop的基础上进行了优化,特别是在迭代计算和交互式查询方面表现更优。Spark的核心概念是弹性分布式数据集(Resilient Distributed Datasets,RDD),这是一种可以并行操作...

    Spark快速%数据处理

    《Spark快速数据处理》这本书深入浅出地探讨了Apache Spark这一强大的大数据处理框架,它以其高效、易用和可扩展性在大数据实时分析领域占据重要地位。Spark的核心设计理念是提供低延迟的数据处理,同时支持批处理、...

    Spark大数据处理技术.pdf

    总的来说,Apache Spark是一个功能全面的大数据处理框架,它不仅提高了数据处理的速度,而且通过丰富的API简化了数据处理流程,已成为大数据处理技术领域的重要工具。对于需要处理大量数据的企业或组织来说,Spark...

    基于Hadoop与Spark的大数据处理平台的构建研究.pdf

    在这样的背景下,Hadoop和Spark作为当前最流行的大数据处理框架,成为了行业内的核心技术。 Hadoop是一个集分布式计算、存储和管理于一体的生态系统,其中MapReduce框架负责分布式计算,但它有一些局限性,如处理...

    大数据期末课设~基于spark的气象数据处理与分析

    总结,这个项目不仅涵盖了Spark的大数据处理技术,包括数据获取、数据清洗、数据分析和数据可视化,同时也体现了大数据在气象领域的应用价值。通过这样的实践,学生能够掌握大数据处理流程,并了解如何利用大数据...

    数据算法:Hadoop/Spark大数据处理技巧

    数据算法:Hadoop/Spark大数据处理技巧

    基于Scala的Apache Spark大数据处理设计源码

    Apache Spark 是一个强大的分布式计算框架,专为大数据处理而设计,其核心特性是高效的数据缓存和快速的数据处理。在本项目中,源码使用了Scala作为主要开发语言,同时也结合了Java和Python,展示了Spark的多语言...

    spark-集群与大数据处理

    Spark的设计初衷是能够进行快速、通用的数据处理,特别适用于大规模数据处理,可以运行在Hadoop集群上,也可独立部署。它具备易用性、通用性、容错性以及对多数据源的良好支持。 在Spark的集群架构中,核心组件包括...

    数据算法: Hadoop+Spark大数据处理技巧.pdf

    《数据算法:Hadoop+Spark大数据处理技巧》是一本深入探讨大数据处理技术的专业书籍,主要聚焦于两大主流的大数据处理框架——Hadoop和Spark。这本书不仅涵盖了基础理论,还提供了丰富的实践指导,对于想要深入了解...

    Apache Spark:大数据处理统一引擎.pdf

    Apache Spark是一个大数据处理的统一引擎,其通用性在多个方面为大数据处理带来了显著的便利和性能提升。首先,Apache Spark使得应用程序的开发更为简易,因为它们可以使用统一的API进行开发,这样不仅提高了开发...

    大数据处理统一引擎Apache Spark研究.pdf

    大数据处理统一引擎Apache Spark是一个开源的分布式计算系统,专门用于大规模数据处理。它最初由加州大学伯克利分校的AMPLab开发,后来成为Apache软件基金会的顶级项目。Spark是MapReduce的一种替代方案,后者是一个...

    spark快速数据处理_完整中文版

    Spark是Apache软件基金会下的一个开源大数据处理框架,它以其高效的并行计算能力、内存计算以及易用性在大数据领域广受赞誉。Spark的核心设计理念是提供一个统一的平台,支持多种数据处理模式,包括批处理、交互式...

    Spark大数据处理数据性能优化学习

    在大数据处理领域,Apache Spark因其高效、易用和弹性等特点,成为了许多企业和开发者首选的工具。本主题聚焦于"Spark大数据处理数据性能优化学习",旨在深入探讨如何在处理海量数据时,通过优化策略提升Spark的运行...

    Spark大数据处理技术 带标签 完整版

    《Spark大数据处理技术》这本书是大数据领域的一部经典之作,主要涵盖了Spark的核心特性和在大数据处理中的应用。Spark作为一个快速、通用且可扩展的数据处理引擎,已经在诸多行业中得到了广泛的应用。下面将对Spark...

    Spark快速数据处理

    Spark是一个通用的并行分布式计算框架,...第6章介绍如何用Spark分布式处理你的数据。第7章介绍如何设置Shark,将Hive查询集成到你的Spark作业中来。第8章介绍如何测试Spark作业。第九章介绍如何提升Spark任务的性能。

    spark大数据处理技术

    这本书深入浅出地探讨了Apache Spark这一强大的大数据处理框架,涵盖了Spark Core和Spark SQL等核心组件,对于理解并应用Spark进行大数据处理具有极高的指导价值。 Spark是Apache软件基金会下的一个开源项目,它的...

Global site tag (gtag.js) - Google Analytics