spark从入门到放弃三十二:Spark Sql(5)hive sql 简述

文章地址:http://www.haha174.top/article/details/256688
1 简述


Spark Sql 支持对Hive 中存储的数据进行读写。操作Hive中的数据时,可以创建HiveContext,而不是SqlContext.HiveContext 继承自SqlContext,但是增加了在Hive元数据库中查找表,以及用HiveQl 语法编写sql功能,除了sql方法之外还提供了hql方法,从而使用hive语法来编译sql。
使用HiveContext ,可以执行Hive的大部分功能,包括创建表,往表里导入数据以及用Sql 语句查询表中的数据,查询出来的结果是一个Row 数组。

2 保存数据

Spark Sql 还允许将数据保存到Hive 表中,调用DataFrame 的 saveAsTable 命令,即可将DataSet 中的数据保存到Hive 表中,于registerTempTable 不同saveAsTable 是会将DataFrame 中的数据物化到Hive 表中的,而且还会在Hive元数据库中创建表的元数据。
默认情况下SaveAsTable 会将一张Hive Manager Table ,也就是说,数据的位置都是由元数据库中的信息控制的。当ManagerTable 被删除时,表中的数据也会一并被删除。
RegisterTempTable 只是注册一个临时的表,只要Application 停止或者重启了,那么表就没有了。而saveAsTable 石创建物理化的表,无论Application 是否重启或者停止都会一直存在。

欢迎关注,更多福利

spark从入门到放弃三十二:Spark Sql(5)hive sql 简述_第1张图片
这里写图片描述

你可能感兴趣的:(spark从入门到放弃三十二:Spark Sql(5)hive sql 简述)