共性:
查询数据是通过SQL语句查询,必须要有临时视图或全局试图来辅助。
临时视图:只针对当前会话有效,不支持跨会话。
全局视图:全局有效,支持不同会话。
说明:对特定表的数据的查询结果重复使用。View只能查询,不能修改和插入。
视图中封装了查询表的SQL语句,并没有存真实的数据,通过视图中的SQL可以获取数据。
注意:如果从内存中获取数据,Spark可以知道数据类型具体是什么,如果是数字,默认作为Int处理,但是从文件中读取的数字不能确定是什么类型,所以用BigInt接收,可以和Long类型转换,但是和Int不能进行转换。
SparkSQL读取文件默认的采用parquet格式。
内嵌Hive:
Spark内嵌小型Hive,不做配置通过SparkShell 直接进行sql查询,会在Spark路径下创建metadata和derby.log 用于存储元数据。(很少用)
外部Hive:
需要‘Hive-site.xml‘配置文件。并且Spark还提供了SparkSQL CLI客户端,通过‘spark-sql‘可以直接进行SQL语言的查询。
IDEA :
原文:https://www.cnblogs.com/yuexiuping/p/14831909.html