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

📅  最后修改于: 2021-10-27 06:45:03             🧑  作者: Mango

Apache hive 是一个数据仓库和强大的 ETL(提取转换和加载)工具,构建在 Hadoop 之上,可与关系数据库一起使用,以管理和执行 RDBMS 上的操作。它是用Java编写的,由 Apache 基金会于 2012 年为那些不太熟悉Java。 Hive使用 HIVEQL 语言,其语法与 SQL 语法非常相似。 HIVE 支持 C++、 Java和Python编程语言。我们可以使用 hive 和 SQL 处理或查询 PB 级的数据。

Derby 也是一个开源关系数据库工具,它带有一个 hive(默认情况下)并且归 apache 所有。如今,从行业角度来看,derby仅用于测试目的,而出于部署目的,则使用MySql的Metastore。

先决条件:应预先安装Hadoop

步骤 1:从此链接下载Hive版本 3.1.2

第 2 步:将下载的 tar 文件放在您想要的位置(在我们的例子中,我们将它放在 /home 目录中)。

第 3 步:现在在下面显示的命令的帮助下解压缩 tar 文件。

tar -xvzf apache-hive-3.1.2-bin.tar.gz

第 4 步:现在我们必须将 hive 路径放在.bashrc文件中为此使用以下命令。

sudo gedit ~/.bashrc

HIVE路径(添加正确的路径和hive版本名称)

export HIVE_HOME="/home/dikshant/apache-hive-3.1.2-bin"

export PATH=$PATH:$HIVE_HOME/bin

将 HIVE 路径放在这个.bashrc文件中(不要忘记保存,按 CTRL + S)。检查下图中的第 122 和 123 行以供参考。

第 5 步:现在将以下属性添加到core-site.xml文件中。我们可以在/home/{user-name}/hadoop/etc/hadoop目录中找到该文件。为简单起见,我们将我的 hadoop-3.1.2 文件夹重命名为仅 Hadoop。

# to change the directory
cd /home/dikshant/hadoop/etc/hadoop/

# to list the directory content
ls

# to open and edit core-site.xml
sudo gedit core-site.xml

属性(不要删除之前添加的 Hadoop 属性)


hadoop.proxyuser.dikshant.groups
*


hadoop.proxyuser.dikshant.hosts
*


hadoop.proxyuser.server.hosts
*


hadoop.proxyuser.server.groups
*

第 6 步:现在借助以下命令在 HDFS 中创建一个名为/tmp的目录。

hdfs dfs -mkdir /tmp

第 7 步:使用下面给出的命令创建仓库、配置单元和用户目录,我们将使用这些目录来存储我们的表和其他数据。

hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hive
hdfs dfs -mkdir /user/hive/warehouse

现在,借助以下命令检查目录是否已成功创建。

hdfs dfs -ls -R /     #switch -R will help -ls to recursively show /(root) hdfs data 

第 8 步:现在借助以下命令为这些创建的目录的所有用户授予读、写和执行权限。

hdfs dfs -chmod ugo+rwx /tmp 

hdfs dfs -chmod ugo+rwx /user/hive/warehouse

第九步:进入/apache-hive-3.1.2-bin/conf目录,将hive-default.xml.template的文件名改为hive-site.xml 。现在在这个文件中转到第 1 行。 3215 并删除因为这会在初始化 derby 数据库时给你一个错误,而且因为它在描述中,所以对我们来说不是很重要。

然后,

现在,

第 10 步:现在初始化 derby 数据库,因为 HIVE 默认使用 derby 数据库进行存储和其他透视。使用下面给出的命令(确保您在 apache-hive-3.1.2-bin 目录中)。

bin/schematool -dbType derby -initSchema

第 11 步:现在使用以下命令启动 HiveServer2。

hiveserver2

第 12 步:在不同的选项卡上键入以下命令,以启动 beeline 命令外壳。

cd /home/dikshant/apache-hive-3.1.2-bin/bin/

beeline -n dikshant -u jdbc:hive2://localhost:10000   (If you face any problem try to use hadoop instead of your user name)

现在我们已经成功配置并安装了带有 derby 数据库的 apache hive。

第 13 步:让我们使用 show databases 命令来检查它是否工作正常。

show databases;