HIVE实战:创建数据库与表,内部表、外部表、分区表解析
需积分: 0 78 浏览量
更新于2024-08-04
1
收藏 366KB DOCX 举报
“HIVE创建库创建表.docx”是一份关于使用Hive进行数据库和表创建的实验报告,涵盖了HQL语言的基础应用,包括创建数据库、内部表、外部表、分区表以及桶表等概念。实验者通过不同的location属性设置来管理数据存储,并通过美国疫情数据来实践分区和数据加载。此外,还涉及到了MySQL数据库的中文支持问题。
在Hive中,创建数据库是一项基础操作,可以使用`CREATE DATABASE`语句。当不指定`LOCATION`时,数据库会默认存储在HDFS的/user/hive/warehouse目录下。如果指定了`LOCATION`,则数据会存储在指定路径。例如,创建名为`location_hyy_db`的数据库,指定location为`spe_db_db`,并添加创建人属性,可以写成:
```sql
CREATE DATABASE IF NOT EXISTS location_hyy_db
COMMENT "指定location"
LOCATION "spe_db_db"
WITH DBPROPERTIES ('createby'='linda');
```
而创建不指定`LOCATION`的数据库,如`noLocation_hyy_db`,可以写成:
```sql
CREATE DATABASE IF NOT EXISTS noLocation_hyy_db
COMMENT "没有指定location"
WITH DBPROPERTIES ('createby'='lucy');
```
内部表(或托管表)是Hive管理的数据表,它们的数据存储与表定义紧密关联。当删除内部表时,Hive会同时删除表及其关联的数据。创建内部表的示例如下:
```sql
CREATE TABLE IF NOT EXISTS noLocation_hyy_db.hero_archer (
id INT COMMENT "ID",
name STRING COMMENT "英雄名称",
hp_max INT COMMENT "最大生命",
mp_max INT COMMENT "最大法力",
attack_max INT COMMENT "最大物攻",
defense_max INT COMMENT "最大物防",
attack_range STRING COMMENT "攻击范围",
role_main STRING COMMENT "主要定位",
role_assist STRING COMMENT "次要定位"
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
```
外部表则不同,它们只是对HDFS上数据的引用,删除外部表不会影响数据本身。创建外部表的语句如下:
```sql
CREATE EXTERNAL TABLE IF NOT EXISTS noLocation_hyy_db.hero_archer_ext (
id INT COMMENT "ID",
name STRING COMMENT "英雄名称",
...
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
```
分区表是一种有效的数据组织方式,可以提高查询效率。例如,使用美国疫情数据创建分区表,可以根据日期、州等字段进行分区。创建分区表的语法结构为:
```sql
CREATE TABLE IF NOT EXISTS noLocation_hyy_db.covid_data (
...
) PARTITIONED BY (date STRING, state STRING);
```
接着,可以通过`LOAD DATA`命令将数据静态或动态加载到分区中。静态加载是指明具体分区,而动态加载则根据数据本身的字段自动填充分区。
桶表(Bucketed Tables)是Hive提供的一种优化手段,它将数据按照哈希函数划分到不同的桶中,便于并行处理。创建桶表的语法如下:
```sql
CREATE TABLE IF NOT EXISTS noLocation_hyy_db.bucket_hero_archer (
...
) CLUSTERED BY (id) INTO 4 BUCKETS;
```
最后,提到的“修改mysql数据库支持中文”,这通常涉及到修改数据库字符集设置,确保能正确存储和显示中文字符,例如在MySQL中,可以在创建数据库或连接时指定`CHARACTER SET utf8`。
通过这份实验报告,学习者可以全面了解Hive的基本操作,包括数据库和表的创建,以及如何利用Hive管理大数据的存储和查询。
2019-05-15 上传
2020-03-06 上传
2023-05-02 上传
2023-06-13 上传
2023-10-21 上传
2023-05-26 上传
2023-06-10 上传
2023-04-29 上传
2023-04-05 上传
m0_59627358
- 粉丝: 83
- 资源: 8
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景