我们知道sparkSQL跟hive是兼容的,他支持hive的元数据库,sql语法,多种类型的UDF,
而且还支持hive的序列化和反序列化方式,意思就是hive写的自定义函数,spark拿过来就能用。
最重要的就是MetaStore元数据库,以后一旦我们使用hive的MetaStore,那么他以前建的表我们就可以使用了。
那么我们写的SQL就可以直接从hive的仓库中查询数据了。
所谓hive的仓库其实就是一个元数据库和hdfs
元数据库中指定了有哪些表,表中有哪些字段。每个字段叫什么名字,分别是什么类型。还有这张表对应的存放在hdfs的哪个目录下。以后我们执行sparksql的时候就可以根据元数据信息到hdfs中找对应的数据了。
元数据库中存放的是描述信息,hdfs中存放的是真正需要计算的信息。
接下来我们来整合hive,其实整合hive就是整合hive的元数据