先决条件: Hive 3.1.2 安装,Hadoop 3.1.2 安装
HiveQL 或 HQL 是一种Hive查询语言,我们用于在Hive上处理或查询结构化数据。 HQL 语法与 MySQL 非常相似,但有一些显着差异。我们将使用hive命令,它是一个 bash shell 脚本来使用 CLI(命令行界面)完成我们的 hive 演示。我们只需在终端中输入 hive 即可轻松启动 hive shell。确保.basrc文件中提到了配置单元安装的/bin目录。 .bashrc文件在用户登录系统时自动执行 和所有必要的 此脚本文件中提到的命令将运行。我们可以简单地检查/bin目录是否可用,只需使用如下所示的命令打开它即可。
sudo gedit ~/.bashrc
如果未添加路径,则添加它,以便我们可以直接从终端运行 hive shell,而无需移动到 hive 目录。否则,我们可以通过移动到apache-hive-3.1.2/bin/目录并按下hive命令来手动启动 hive。
在执行hive之前,请确保所有 Hadoop 守护进程都已启动并正常工作。我们可以简单地使用以下命令启动所有 Hadoop 守护进程。
start-dfs.sh # this will start namenode, datanode and secondary namenode
start-yarn.sh # this will start node manager and resource manager
jps # To check running daemons
Apache Hive的数据库
数据库是包含多个表的存储模式。 Hive数据库是指表的命名空间。如果默认情况下未指定数据库名称, Hive将其默认数据库用于表创建和其他目的。创建数据库允许多个用户在不同模式中创建具有相似名称的表,以便他们的名称不匹配。
因此,让我们使用以下命令启动我们的hive shell 来执行我们的任务。
hive
使用以下命令查看已经存在的数据库。
show databases; # this will show the existing databases
创建数据库语法:
我们可以在以下命令的帮助下创建一个数据库,但如果数据库已经存在,那么在这种情况下, Hive将抛出错误。
CREATE DATABASE|SCHEMA # we can use DATABASE or SCHEMA for creation of DB
例子:
CREATE DATABASE Test; # create databse with name Test
show databases; # this will show the existing databases
如果我们再次尝试创建一个 Test 数据库 hive 将抛出错误/警告名称为 Test 的数据库已经存在。一般来说,如果数据库存在,我们不希望得到错误。所以我们使用带有 [IF NOT EXIST] 子句的 create database 命令。这不会抛出任何错误。
CREATE DATABASE|SCHEMA [IF NOT EXISTS]
例子:
CREATE SCHEMA IF NOT EXISTS Test1;
SHOW DATABASES;
删除现有数据库的语法:
DROP DATABASE ; or DROP DATABASE IF EXIST # The IF EXIST clause again is used to suppress error
例子:
DROP DATABASE IF EXISTS Test;
DROP DATABASE Test1;
现在使用quit命令退出 hive shell。
quit;