1.hive入门:
-
Hive 简介
- Hive 是一个建立在 Hadoop 之上的数据仓库工具
- 提供 SQL 查询功能,将 SQL 语句转换为 MapReduce 任务在 Hadoop 上执行
- 支持常见的数据类型和 SQL 语法,方便数据分析和处理
-
Hive 架构
- 客户端: Hive CLI、JDBC/ODBC
- 元数据存储: 通常使用 MySQL 或 PostgreSQL
- 执行引擎: MapReduce、Spark、Tez 等
- 数据存储: HDFS、云存储等
-
Hive 数据模型
- 数据库(Database)
- 表(Table)
- 内部表(Managed Table)
- 外部表(External Table)
- 分区(Partition)
- 桶(Bucket)
-
Hive 数据类型
- 基本数据类型: STRING、INT、BIGINT、FLOAT、DOUBLE 等
- 复杂数据类型: ARRAY、MAP、STRUCT
-
Hive 常用 SQL 语句
- DDL: CREATE/DROP/ALTER DATABASE/TABLE
- DML: INSERT/LOAD DATA
-查询语句: SELECT/WHERE/GROUP BY/ORDER BY 等
-
Hive 优化
- 分区优化
- 桶优化
- 压缩优化
- 索引优化
-
Hive 与 Spark SQL 对比
- Spark SQL 是基于内存的执行引擎,性能更优
- Hive 基于磁盘,适合处理大数据量
2.hive数据库及表操作:
-
数据库操作
- 创建数据库:
CREATE DATABASE [IF NOT EXISTS] database_name;
- 切换数据库:
USE database_name;
- 查看数据库:
SHOW DATABASES;
- 删除数据库:
DROP DATABASE [IF EXISTS] database_name [CASCADE];
- 创建数据库:
-
表操作
- 创建表:
- 内部表:
CREATE TABLE [IF NOT EXISTS] table_name (col_name data_type, ...) [COMMENT 'table_comment'] [PARTITIONED BY (col_name data_type, ...)] [CLUSTERED BY (col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION 'hdfs_path'];
- 外部表:
CREATE EXTERNAL TABLE [IF NOT EXISTS] table_name (col_name data_type, ...) [COMMENT 'table_comment'] [PARTITIONED BY (col_name data_type, ...)] [CLUSTERED BY (col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] LOCATION 'hdfs_path';
- 内部表:
- 查看表:
SHOW TABLES [IN database_name] [LIKE 'pattern'];
- 描述表:
DESCRIBE [EXTENDED|FORMATTED] table_name;
- 修改表:
- 重命名表:
ALTER TABLE table_name RENAME TO new_table_name;
- 增
- 重命名表:
- 创建表: