📜  使用 Derby 数据库和 Beeline 安装 Apache Hive(1)

📅  最后修改于: 2023-12-03 15:22:10.659000             🧑  作者: Mango

使用 Derby 数据库和 Beeline 安装 Apache Hive

简介

Apache Hive 是一种基于 Hadoop 的数据仓库工具,它将结构化数据映射到 Hadoop 上,并提供了一种类 SQL 查询语言 (HiveQL)。Hive 提供了一个易于使用的接口,使得数据分析师和数据科学家可以使用 SQL 查询来访问 Hadoop 集群中的大规模数据集。

Derby 是一个基于 Java 的嵌入式数据库,它具有小巧、易于部署、易于使用的优点。在安装 Apache Hive 时,我们可以选择 Derby 数据库作为 Hive 的元数据存储。

Beeline 是 Hive 的客户端工具,它提供了一个命令行界面,允许用户使用 HiveQL 查询语言与 Hive 交互。

本文将介绍如何使用 Derby 数据库和 Beeline 安装 Apache Hive。

步骤
1. 准备工作

在开始安装之前,需要确保以下所需组件已经准备就绪:

  • Java JDK (版本 1.7 或以上)
  • Hadoop 发行版 (版本 2.6 或以上)
  • Derby 发行版 (版本 10.12 或以上)
2. 下载和解压缩 Hive

访问 Apache Hive 官网,下载最新版本的二进制文件,并将其解压缩到本地目录。

$ tar xzf apache-hive-3.1.2-bin.tar.gz
3. 创建 Derby 元数据存储

Hive 可以使用多种不同的数据库作为元数据存储,包括 MySQL、PostgreSQL、Oracle 等等。在本文中,我们将使用 Derby 作为元数据存储。

首先需要创建 Derby 数据库,执行以下命令:

$ cd apache-hive-3.1.2-bin
$ bin/schematool -initSchema -dbType derby

这将创建一个名为 metastore_db 的 Derby 数据库,并初始化 Hive 的元数据表。

4. 配置 Hive 元数据存储

在使用 Hive 之前,需要进行一些配置。通过编辑 conf/hive-site.xml 文件可以进行配置。

以下是一份可能的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.apache.derby.jdbc.EmbeddedDriver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>APP</value>
    <description>Username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>mine</value>
    <description>Password to use against metastore database</description>
  </property>
</configuration>

这份配置文件将 Derby 作为元数据存储,指定 Derby 数据库的名称和位置,以及 Derby 用户名和密码。

5. 启动 Hive 元数据服务

Hive 元数据服务是一个独立的 Java 进程,它管理 Hive 的元数据存储和访问控制。

启动 Hive 元数据服务,执行以下命令:

$ bin/hive --service metastore

Hive 元数据服务将在后台运行,并监听默认端口 9083。

6. 启动 Beeline 客户端

启动 Beeline 客户端,执行以下命令:

$ bin/beeline -u jdbc:hive2://localhost:9083

此命令会连接到正在运行的 Hive 元数据服务。在 Beeline 命令行界面中,可以使用常规的 SQL 查询语句。

-- 创建一个新表
CREATE TABLE my_table (
  id INT,
  name STRING
);

-- 插入一些数据
INSERT INTO my_table VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Charlie');

-- 查询数据
SELECT * FROM my_table;
结论

本文介绍了如何使用 Derby 数据库和 Beeline 客户端安装和使用 Apache Hive。通过 HiveQL 查询语言,可以轻松地访问和处理 Hadoop 集群上的大规模数据集。

参考链接