您的当前位置:首页正文

大数据处理平台Spark研究

来源:一二三四网
技术交流 大数据处理平台Spark研究 温向慧 西北师范大学计算机科学与工程学院 摘要:随着大数据时代的到来,传统的单机模式已经不能满足大规模数据分析处理的需求。Spark是专门针对海量数据设计的通用并行 计算引擎。Spark启用了弹性分布式数据集RDD,能够在内存中进行多次迭代计算,其高端的设计理念,为大型应用程序的构建奠定了基础。 关键字:海量数据Spark RDD迭代计算 1引育 Apache Spark是由加卅f伯克利分校AMP实验室开发的, 处理作业,例如以1秒为时间片切分,每个时间片数据都是一个 RDD,可以使用RDD的转换、行动操作来处理每个时间片数据。 用scala语言实现的一种通用计算框架,具有运行速度快、使用 每个RDD都会产生一个Job处理,最后的结果也是返回多个时 方便、适应性好、易于部署等特点。Spark实现了一个集群的分 间片数据。SparkStreaming支持从多种数据源获取数据,包括 布式内存抽象(RDD),RDD(Resilient Distributed Dataset) 是一个只读的记录分区的集合,运行于内存中。Spark使用有向 Kafka、Kinesis、IXvitter、TCP sockets、Flume以及ZeroMQ, 从数据源获取数据之后,可以用Map、Reduce、Join和FiRer等 无环图(DAG)设计,与Hadoop相比,其操作简单,使用简洁的 高级操作处理大规模复杂数据,最后将处理结果存储或展示。由 代码就能处理大规模数据问题。它可以访问不同的数据源,包括 于Spark是短小的批处理方式,所以对一些实时性要求较高的应 HDFS,Cassandra'HBase和S3 ̄Spark可以使用其独立集群模式, 也可以运行在EC2,Hadoop YARN或Apache Mesos上。 2Spark生态系统 用来说不适合比较适合实时处理与历史处理相结合的应用场景。 2.5 MLlib技术 MLlib是Apache Spark可扩展的机器学习库,其中包含许 Spark生态系统如下图所示,包含多个组件:Spark SOL、 多常用的机器学习算法、实用程序和工具类,机器学习算法有分类、  Spark Streaming、MLlib Graph X等。SparkSQL用于查询 聚类、回归、推荐、决策树、主题建模等,实用程序包括特征转换、Spark程序中的结构化数据,Spark Streaming用于实时流处理, 模型评估等,还有一些其他工具如:分布线性代数、统计。因为 MLlib用于机器学习中,Graph X用于图计算,它们能够使用 Spark的优势是迭代计算,所以对于一些多次迭代的机器学习算 RDD无缝的集成,形成一站式的处理平台,使应用程序的开发变 得简单。 法,SparkMLlib的效果远远优于MapReduce。同时,MLIib的 出现让机器学习的门槛降低,使一些对ML算法不了解的用户也 能方便的处理数据。 2.4 GraphX技术 GraphX是基于Spark的图计算框架,存储单位是RDD,可 以用于大规模的图计算,如社交网络关系等。GraphX主要描述 的是有向图,即包括顶点和边两种属性的图,它提供了三种视图, Spark生态系统 分别是:顶点(Vertex)、边(Edge)和边三元组(EdgeTriplet), 图计算就是在以上三种视图上进行的。GraphX实现了一些常用 2.{SparkSqL技术 Spark SQL是Spark框架的一部分,用于查询和分析 的图算法模型,如相邻顶点收集算法、PageRank算法、图中三角 egel图计算框架等等。在GraphX上实现的一系 结构化的海量数据。它提供了一个分布式的SQL查询引擎 形统计算法、prDataFrames,是一种分布式数据集合,由“命名列”组织而成, 列经典的图算法使得用户在Spark上编写程序更加简单。 3结柬语 相当于关系型数据库中的数据表。DataFrames和SQL提供 了访问各种数据源的常用方法,这些数据源包括Hire,Avro, 在大数据环境下,传统的单机模式已不能处理海量数据。  Parquet,ORC,JS0N和JDBC。另外SQL接口还可以与不同数 Hadoop虽然能处理大规模数据,但它更加擅长离线的批量数据,据源的数据交互。Spark SQL在使用时先将外部数据源转化为 且耗时长。Spark既能处理流式数据又能处理批量数据,它使用 DataFrames,再进行查询和转换,最后将处理结果存储或展示, 实用性较好。 RDD的内存抽象,使得代码的编写变得简洁,以其内存计算的优 势,大大加快了数据处理速度,拥有的各个组件具有各自的优势, 2.2 SparkStreaming技术 各组件数据也能通过RDD交互,构成了一站式的大数据分析处 SparkStreaming是一个高吞吐量、高容错的实时流处理 理平台。由此可看出,Spark拥有先进的设计理念,是大数据处理 系统。它不是直接的流式处理,而是将数据流切分成短小的批 平台的首选。 数码世界R172 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top