Hive是Hadoop生态圈中的一种数据仓库工具,提供了将结构化数据映射为数据库及表的能力,并支持SQL查询,最终将SQL转换为MapReduce进行并行计算。Hive是XSQL支持的最早的数据源。本节将对Hive接入XSQL的安装、配置、运行作简单的介绍。
Installation
Hive接入XSQL,首先需要在Linux环境中配置好Hive依赖的HDFS、Hive Metadata Server。这些内容超出了XSQL的范围,需要了解的用户请分别查阅HDFS官方文档和Hive官方文档。
Configuration
Hive接入XSQL的配置继承了Configurations中介绍的通用配置(注意:Hive接入XSQL不支持通用配置spark.xsql.datasource.$dataSource.pushdown)。Hive接入XSQL还有一些特有的配置,下表将对他们进行介绍。
Property Name | Default | Meaning |
---|---|---|
spark.xsql.datasource.$dataSource.metastore.url | None | Hive Metadata Server的访问URI |
此配置非常关键,XSQL将通过访问Hive Metadata Server获得Hive的元数据信息。
这里给出一个Hive接入XSQL的配置示例:
spark.xsql.datasources default
spark.xsql.datasource.default.type hive
spark.xsql.datasource.default.metastore.url thrift://127.0.0.1:9083
spark.xsql.datasource.default.user test
spark.xsql.datasource.default.password test
spark.xsql.datasource.default.version 1.2.1
spark.xsql.datasource.default.whitelist hive-whitelist.conf
Execution
Hive接入XSQL支持Common Commands中介绍的通用原则。Hive接入XSQL将支持绝大多数的Hive QL语法。本节将以Hive特有的SQL为例,来介绍如何使用XSQL执行Hive QL。
Create Hive Table
创建Hive表,与关系型数据库(例如MySQL、Oracle等)创建表的方式有很多不同之处。例如:
create table test (
key String,
value String,
other String
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE
上面的SQL中需要定义行数据的分隔符以及存储格式等。