一、开发环境

    1、hadoop-2.7.3

    2、hive-1.2.2

    3、spark-2.0.2

    4、cassandra-3.11.2

    5、jdk1.8.0_121

    6、scala-2.12.3

二、SparkSQL架构图

    根据自己的理解绘制如下架构图,说明:

    1、SparkSQL支持读取多种数据源

            1.1 天然支持Hive,通过SparkSession.sql("sql语句")的方式直接操作hive表

            1.2 支持jdbc以及json数据,通过SparkeSession.read.***方式读取,生成DataFrame

            1.3 SparkSession.textFile()读取文本文件

            1.4 通过SparkContext读取Cassandra生成CassandraRdd,利用spark-cassandra-connector驱动进行操作

SparkSQL(一)(DataFrame+Dataset+RDD+Shcema)

    2、SparkSQL三种API关系以及转换方式

            最开始接触SparkSQL难免被DataFrame、Dataset、RDD搞乱,这里记录一下自己理解的关系,图丑,勉强看:

            2.1、RDD+Schema=DataFrame

            2.2、RDD+case class=DataFrame

            2.3、DataFrame as[case class] 生成 Dataset

            2.4、case class 序列化 生成 Dataset

            2.5、DataFrame 创建视图 生成SQL视图,SQL视图可以用SparkSession.sql("sql语句")方式操作

SparkSQL(一)(DataFrame+Dataset+RDD+Shcema)

    

相关文章: