大数据技术之Hive数仓(1)

Hive数据库简介:

        Hive是由Facebook开发的一款数据仓库工具,于2007年发布,并于2008年开源。随着时间的推移,Hive不断发展壮大,其发展史如下:

[1][Apache Hive] :2008年10月,Facebook宣布将Hive作为开源项目贡献给Apache软件基金会。

[2][https://www.infoq.cn/article/iws9naj6vpt8-lmwwm6y] :2010年,Hive正式获得Apache顶级项目的地位。

[3][https://www.jianshu.com/p/62f080374c29] :2012年,Hive 0.9版本发布,引入了Stinger计划,旨在通过引入Tez作为执行引擎和进行优化以提高性能。此时,Hive开始被广泛用于企业级数据仓库和商业智能应用。

[4][https://blog.csdn.net/sinat_26275039/article/details/54349342] :2015年,Hive 1.0版本发布,进一步提高了性能、可扩展性和可管理性,包括了LLAP(Live Long and Process)。LLAP改变了传统的MapReduce计算模型,通过启用列式存储和交互式查询支持,提高了查询速度。

[5][你似乎来到了没有知识存在的荒原 - 知乎] :2019年,Hive 3.0版本发布,进一步优化了性能和安全性,引入ACID事务支持以及更好的动态分区支持。

[6][https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hive/HiveHistory.html] :2021年,Hive 4.0版本预计发布,将进一步改善查询性能、提高集群利用率和简化管理。

Hive是什么:    

        Hive是一个开源数据仓库工具,可以将SQL查询转换为MapReduce程序,从而在Hadoop集群上进行分布式处理。它可用于存储、管理和处理大规模结构化数据。

        Hive基于Hadoop,使用Hadoop的文件系统(HDFS)进行数据存储。Hive的结构类似于传统的关系型数据库,包括数据库、表、列等元素。同时,Hive也提供了类似于SQL的查询语言,可以方便地进行数据查询与分析。

Hive基本操作:

 数据库相关操作

 创建数据库

CREATE DATABASE mydatabase;

 查看所有数据库

SHOW DATABASES;

切换数据库

USE mydatabase;

删除数据库

DROP DATABASE mydatabase;

数据表相关操作

创建数据表

CREATE TABLE mytable (
  id INT,
  name STRING,
  age INT
);

查看数据表结构

DESCRIBE mytable;

加载数据到数据表中

LOAD DATA INPATH '/path/to/data' INTO TABLE mytable;

查询数据表内容

SELECT * FROM mytable;

添加新字段

ALTER TABLE mytable ADD COLUMN gender STRING;

删除数据表

DROP TABLE mytable;

数据处理相关操作

数据筛选

SELECT * FROM mytable WHERE age > 20;

数据分组统计

SELECT age, COUNT(*) FROM mytable GROUP BY age;

数据排序

SELECT * FROM mytable ORDER BY age DESC;

数据连接

SELECT * FROM mytable JOIN anothertable ON mytable.id = anothertable.id;

Hive测试

为了测试Hive的性能和功能,我们可以使用一些自带的示例数据进行测试。比如,我们可以使用示例数据employee.txtdepartment.txt,这些数据位于Hive的安装目录下的examples/files目录中。

首先,我们需要将数据加载到Hive中:

CREATE TABLE employee (
  id INT,
  name STRING,
  age INT,
  department INT
);
LOAD DATA LOCAL INPATH '/path/to/employee.txt' INTO TABLE employee;

CREATE TABLE department (
  id INT,
  name STRING
);
LOAD DATA LOCAL INPATH '/path/to/department.txt' INTO TABLE department;

然后,我们可以进行一些数据查询和分析操作:

-- 查看年龄大于30岁的雇员
SELECT * FROM employee WHERE age > 30;

-- 查看各部门的平均年龄
SELECT d.name AS department_name, AVG(e.age) AS avg_age
FROM employee e JOIN department d ON e.department = d.id
GROUP BY d.name;

通过这些简单的测试,我们可以初步了解Hive的基本操作和功能

高级操作请看第二章

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大马猴写bug

您的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值