1. SparkSQL是什么?
SparkSQL是分布式SQL引擎,底层依赖RDD,处理结构化数据的一个模块
2、SparkSQL的入口
SparkSession
val spark = SparkSession.builder().enableHiveSupport().getOrCreate
3. spark sql与hive的不同
1、Hive 是基于MapReduce框架实现SQL基本操作
2、Spark SQL拥有Catalyst优化器
3、Spark SQL能够支持不同数据源
4、Spark能代替Hive吗?
1、hive是数据仓库,Spark SQL没有自己的存储,Hive集成HDFS
2、Spark SQL没有自己的元数据管理,要依赖Hive
3、Hive有sqoop,flume等数据源同步配套组件
4、Hive只作为存储,Spark负责解析和执行
5、spark访问hive仓库
1、在 $Spark_HOME/conf下添加hive-site.xml文件
2、启动thriftserver服务
./$Spark_HOME/sbin/start-thriftserver.sh
6、Spark运行原理
1、spark SQL执行计划
2、catalyst优化器
7、Data frame和Data Set是什么
1、和RDD一样,都是Spark平台下的分布式弹性数据集
2、DF是以RDD为基础的分布式数据集,是ROW对象的集合
3、DataSet是DataFrame的一个特例
4、DataSet是强类型的数据集,
5、创建DataFrame的方法
1、通过创建文件
1)json文件
sparkSession.read.json("/nginx/2424.json")
2)csv文件
sparkSession.read.csv(“nginx/234322.csv”)
3)parquet文件
sparksession.read.parquet("/nginx/2423.parquet")
2、通过RDD转换为DF
1)通过自定义case class
2)通过自定以schema
6、创建DataSet的方法
1、通过已存在的RDD来创建
2、通过DataFrame转换生成
7、DataSet与RDD交互
toDS()将RDD转换为DataSet
rdd()将DataSet转换为RDD
欲了解更多相关知识,请关注公众后:架构师Plus.
公众号里有彩蛋哦,有一个去视频水印的工具,很好用哦.