- Hadoop数据仓库实战
- 肖睿 兰伟 廖春琼主编
- 832字
- 2025-04-02 16:30:21
1.3.4 Hive开发环境
在开发过程中,Hive提供了两种命令行工具:CLI与Beeline,分别对应hive与beeline命令。CLI工具一般在Hive主机上使用,而Beeline支持远程连接。使用Beeline需要首先在Hive主机中启动HiveServer2服务。
使用Beeline连接Hive:
# 在Hive 主机执行 $ hive --service hiveserver2& # 可在任意客户端执行 $ beeline -u jdbc:hive2://localhost:10000 # 交互式执行HQL 0:jdbc:hive2://localhost: 10000> show tables;
其中,10000为HiveServer2默认端口,其可通过“hive.server2.thrift.port”参数进行修改。默认情况下启动HiveServer2会同时启动一个内置的元数据服务。
注意
HiveServer2进程建议在后台运行:
nohup hive --service hiveserver2&
CLI和Beeline均支持两种模式:命令行模式和交互模式。前面介绍的方式均属于交互模式。Hive支持使用命令直接运行HQL语句或者包含一系列HQL语句的文件。
【语法】
hive -e <HQL> hive -f <HQL FILE> beeline –u <JDBC Url> -e <HQL> beeline –u <JDBC Ur l> -f <HQL FILE>
下面分别使用CLI和Beeline查看Hive所有数据库:
$ hive -e 'show databases;' $ beeline -u jdbc:hive2://localhost:10000 -e 'show databases;show tables'
注意
请使用引号包含HQL语句,多条HQL之间使用分号分隔。
Hive也可以使用文件来管理HQL,然后通过“-f”选项执行。
$ vi showdbs.hql # 输入HQL语句 show databases; $ hive -f showdbs.hql $ beeline -u jdbc:hive2://lo calhost:10000 -f showdbs.hql
除了CLI和Beeline,还有多种第三方工具均可以很方便地进行Hive开发,下面分别对它们进行简单介绍。
1. HUE
Hadoop用户经验(Hadoop User Experience,HUE)集成在CDH中,是一个开源SQL分析平台,有时也称为Hadoop UI。通过HUE可以在浏览器中与Hadoop集群中的多种组件(如Hive、Pig、Impala等)进行交互以实现数据的分析处理。
如果选用了Cloudera的CDH版本,则适合选择HUE进行Hive开发,开发界面如图1.6所示。

图1.6 选择HUE开发Hive界面
2. Ambari Hive View
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的管理和监控。Hive View是Ambari中的一个组件。Hortonworks的HDP集成了Ambari,所以使用HDP平台时选择Ambari更合适。Ambari开发界面如图1.7所示。

图1.7 Ambari Hive View开发界面
3. Zeppelin
Apache Zeppelin是一个基于Web的Notebook,其支持多种语言、多种环境下的交互式数据分析,包括:Python(Spark)、Scala(Spark)、Spark SQL、Hive、Shell等。
Zeppelin核心概念是解释器(Interpreter)插件。Interpreter允许用户指定一种语言或者数据处理引擎。当前已经实现的Interpreter有Python解释器、Spark SQL解释器、Shell解释器、Hive解释器和JDBC解释器等。
针对Hive而言,新版本的Hive解释器已被合并至JDBC解释器中,须首先做如下配置。
➢ default.driver:org.apache.hive.jdbc.HiveDriver(默认)。
➢ default.url:jdbc:hive2://HIVESERVER:10000。
然后输入“%hive”后开始HQL语句输入。Zeppelin开发界面如图1.8所示。

图1.8 Zeppelin开发界面