一、sparksql(概述)
1.Hive 是将 SQL 转为 MapReduce。
SparkSQL 可以理解成是将 SQL 解析成:“RDD + 优化” 再执行(RDD 是一个数据集的表示,不仅表示了数据集,还表示了这个数据集从哪来,如何计算)
二、数据分类
RDD 主要用于处理非结构化数据 、半结构化数据、结构化;
SparkSQL 是一个既支持 SQL 又支持命令式数据处理的工具;
SparkSQL 主要用于处理结构化数据(较为规范的半结构化数据也可以处理)。
三、sparksql 数据抽象
Spark SQL数据抽象可以分为两类:
① DataFrame :DataFrame 是一种以 RDD 为基础的分布式数据集,类似于传统数据库的二维表格,带有 Schema 元信息(可以理解为数据库的列名和类型)。DataFrame = RDD + 泛型 + SQL 的操作 + 优化
② DataSet:DataSet是DataFrame的进一步发展,DataFrame = Dateset[Row]
四、Spark SQL 应用 创建 DataFrame/DataSet
方式一:读取本地文件