数据仓库 Hive 从入门到大神(二)
表的创建和管理
在 Hive 中,表是一个很重要的概念。我们可以通过 CREATE TABLE 语句来创建表,例如:
CREATE TABLE students ( id INT, name STRING, age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;
这个语句表示创建了一个名为“students”的表,它有三列,分别是“id”、“name”和“age”,类型分别为整型、字符串和整型。ROW FORMAT DELIMITED 和 FIELDS TERMINATED BY '\t' 表示使用制表符分隔符分割每一行数据,STORED AS TEXTFILE 则表示将数据以文本文件形式存储。
除了创建表之外,我们还可以对表进行管理。例如,我们可以用 ALTER TABLE 语句来更改表的结构,例如增加或删除列:
ALTER TABLE students ADD COLUMN gender STRING;
ALTER TABLE students DROP COLUMN age;
我们也可以使用 DESCRIBE 命令查看表的结构信息:
DESCRIBE students;
此外,我们还可以使用 SHOW TABLES 命令来查看数据库中所有的表:
SHOW TABLES;
数据的导入和导出
在 Hive 中,我们可以通过 LOAD DATA LOCAL INPATH 命令将本地文件中的数据导入到表中,例如:
LOAD DATA LOCAL INPATH '/path/to/file' INTO TABLE students;
这个命令表示将本地文件中的数据导入到“students”表中。
同样地,我们也可以使用 INSERT INTO 命令向表中插入数据:
INSERT INTO students VALUES (1, 'Tom', 'Male');
此外,我们还可以将表中的数据导出到本地文件中,例如:
INSERT OVERWRITE LOCAL DIRECTORY '/path/to/directory' SELECT * FROM students;
这个命令表示将“students”表中的数据导出到本地目录中。
HiveQL 查询语言
Hive 支持类 SQL 的查询语言 HiveQL,通过它我们可以对表中的数据进行查询和分析。以下是一些常见的查询语句:
SELECT 查询语句
SELECT 语句用于从表中查询数据,例如:
SELECT * FROM students;
这个语句表示查询“students”表中的所有数据。
WHERE 查询语句
WHERE 语句用于过滤查询结果,例如:
SELECT * FROM students WHERE gender = 'Male';
这个语句表示查询“students”表中性别为“Male”的所有数据。
GROUP BY 查询语句
GROUP BY 语句用于按照指定字段对数据进行分组统计,例如:
SELECT gender, COUNT(*) FROM students GROUP BY gender;
这个语句表示按照性别对“students”表中的数据进行分组,并统计每个性别的人数。
JOIN 查询语句
JOIN 语句用于连接两个表中的数据,例如:
SELECT s.name, c.course_name FROM students s INNER JOIN courses c ON s.id = c.student_id;
这个语句表示将“students”表和“courses”表中的数据连接起来,并查询学生姓名和所选课程名称。
小结
以上就是数据仓库 Hive 从入门到大神(二)的内容,我们介绍了 Hive 中表的创建和管理、数据的导入和导出,以及常见的 HiveQL 查询语句。希望这篇文章能够帮助您更好地理解 Hive,并在实际应用中发挥其作用。