Spark-前言

2019-05-22  本文已影响0人  NEO_X

主要内容说明

主要按以下3个大点进行说明,也符合进行操作过程种的步骤,读取数据-操作数据-分析保存数据.
总结起来就是:从哪里获取数据 ; 如何操作数据 ; 分析数据如何保存

会涉及到以下几类信息:

3个编程对象-RDD,DataFrame,DataSet

RDD、DataFrame、Dataset全都是spark平台下的分布式弹性数据集,为处理超大型数据提供便利

RDD:是一个不可变的分布式对象集合。每个RDD都被分为多个分区,这些分区运行在集群中的不同节点上。RDD可以包含 Python、Java、Scala中任意类型的对象,甚至可以包含用户自定义的对象。轻松有效地处理结构化和非结构化的数据。但是像Dataframe和DataSet一样,RDD不会推断出所摄取数据的模式,并且需要用户指定它spark 1.0加入。
DataFrame: DataFrame是组织成命名列的分布式数据集合。它在概念上等同于关系数据库中的表,仅适用于结构化和半结构化数据。它组织命名列中的数据。DataFrames允许Spark使用管理模式,在Spark 1.3时加入。
DataSet: 它是DataFrame API的扩展,提供了RDD API的类型安全、面向对象编程接口的功能,以及Catalyst查询优化器的性能优势和DataFrame API的堆外存储机制,有效地处理结构化和非结构化数据。它表示行的JVM对象或行对象集合形式的数据,Spark1.6加入。

3类编程对象数据源及编译安全性:
RDD:数据源 API允许RDD可以来自任何数据源,例如文本文件、数据库通过JDBC等,并轻松处理没有预定义结构的数据。提供了一种熟悉的面向对象编程风格,具有编译时类型安全性。
DataFrame:数据源API允许以不同的格式进行数据处理(AVRO、CSV、JSON和存储系统HDFS、HIVE表、MySQL)。可以从上面提到的各种数据源读取和写入。 如果尝试访问表中不存在的列,则Dataframe API不支持编译时错误。它仅在运行时检测属性错误。
DataSet:DataSet的API支持各种的数据源。它提供编译时类型安全性 。

2种操作类型-transformation和action

RDD支持两种操作:transformation操作和Action操作。对于各API,都可以归类为这两类     

3类数据源和数据目标

Spark 支持从本地文件系统中读取文件,不过它要求文件在集群中所有节点的相同路径下都可以找到.

4类操作对象 RDD API , DataFrame API,Streaming ,Spark SQL

主要包括对这些对象的构建和使用。

5个模块 core , SQL , Streaming , MLlib , GraphX

上一篇 下一篇

猜你喜欢

热点阅读