CREATE [EXTERNAL ] TABLE IF NOT EXISTS XXXXXX(
name1 String,
cat1 String,
alipay String,
gmvfee String,
alifee String
)
partitioned by (pt string)
row format delimited fields terminated by '\t'
stored as sequencefile
location '/group/tFFFFsc-dev/feFFngFFFhFaDo/t_FDFXgFFmv_alFFFiapy_feEEe';
说明:
1 EXTERNAL TABLE
创建表分表内部表和外部表 , 差别在于创建外部表时候table之前要加关键字external,同时还要用location命令指定文件存储的路径,如果不使用locaction数据文件也会放置到hive的数据仓库里。
这两种表在使用的区别主drop命令上,drop是hive删除表的命令,托管表执行drop命令的时候,会删除元数据和存储的数据,而外部表执行drop命令时候只删除元数据库里的数据,而不会删除存储的数据。
2 数据字段类型 :分为原子类型 和 负责数据类型
原子数据类具体如下表所示:(hive不支持日期类型,在hive里日期都是用字符串来表示的,而常用的日期格式转化操作则是通过自定义函数进行操作。)
基本数据类型 |
||
类型 |
描述 |
示例 |
TINYINT |
1个字节(8位)有符号整数 |
1 |
SMALLINT |
2字节(16位)有符号整数 |
1 |
INT |
4字节(32位)有符号整数 |
1 |
BIGINT |
8字节(64位)有符号整数 |
1 |
FLOAT |
4字节(32位)单精度浮点数 |
1.0 |
DOUBLE |
8字节(64位)双精度浮点数 |
1.0 |
BOOLEAN |
true/false |
true |
STRING |
字符串 |
‘xia’,”xia”
|
复杂数据类型包括数组(ARRAY)、映射(MAP)和结构体(STRUCT),具体如下表所示:
复杂数据类型 |
||
类型 |
描述 |
示例 |
ARRAY |
一组有序字段。字段的类型必须相同 |
Array(1,2) |
MAP |
一组无序的键/值对。键的类型必须是原子的,值可以是任何类型,同一个映射的键的类型必须相同,值得类型也必须相同 |
Map(‘a’,1,’b’,2) |
STRUCT |
一组命名的字段。字段类型可以不同 |
Struct(‘a’,1,1,0)
|
3 partitioned by (pt string)
是个虚拟的字段列,实际数据存储中不存在这个字段,而是做为基本数据目录分布的依据,
hive里分区的概念是根据“分区列”的值对表的数据进行粗略划分的机制,在hive存储上就体现在表的主目录(hive的表实际显示就是一个文件夹)下的一个子目录,这个文件夹的名字就是我们定义的分区列的名字,没有实际操作经验的人可能会认为分区列是表的某个字段,其实不是这样,分区列不是表里的某个字段,而是独立的列,我们根据这个列存储表的里的数据文件。使用分区是为了加快数据分区的查询速度而设计的,我们在查询某个具体分区列里的数据时候没必要进行全表扫描
一个表可以拥有一个或者多个分区,每一个分区单独存在一个目录下。而且,表和分区都可以对某个列进行 CLUSTERED BY 操作,将若干个列放入一个桶(bucket)中。也可以利用SORT BY 对数据进行排序。这样可以为特定应用提高性能。
4 row format delimited fields terminated by '\t'
区分各数据列的标志字段.
5 stored as
如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE 。
6 location
(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据
相关推荐
在本课程设计中,主题是“基于Antlr4的Hive SQL解析”,这涉及到了两个主要的技术领域:Antlr4和Hive SQL。Antlr4是一个强大的解析工具,用于生成解析器和词法分析器,它能处理各种语言的语法,包括SQL。而Hive SQL...
详细介绍了hive框架,主要包含了以下内容: Hive架构 Hive DDL Hive DML Hive 查询 Hive 函数
#### 三、Hive DDL数据定义语法 - **创建数据库**: - `CREATE DATABASE database_name;` - **查看数据库定义**: - `DESCRIBE DATABASE EXTENDED database_name;` - **查看数据库列表**: - `SHOW DATABASES;` - *...
大数据框架组件 含Hadoop、Spark、Flink等大数据书籍 一、Hadoop 1. Hadoop——分布式文件管理系统HDFS ... 3.Hive——Hive DDL数据定义 4.Hive——Hive DML数据操作 5.Hive——Hive查询
HiveSQL思维导图,便捷整理思路,HiveBeeline、HiveDDL、HiveDML、Hive分区、HiveSerDe
hive表ddl操作(一)
Hive常用DDL操作,基础篇
hive数仓databases,tables DDL语句 备份脚本,下载即可直接运行,需要运行脚本前须保证数据库已创建完成,数据库需要手动创建
### HiveDDL操作 Hive的数据定义语言(DDL)操作包括创建、修改、删除数据库、表、视图、索引等,类似传统数据库系统。例如,使用CREATE TABLE语句定义新表结构,使用ALTER TABLE修改表结构,以及使用DROP TABLE...
这可能需要编写测试脚本,确保各种Hive DDL(Data Definition Language)和DML(Data Manipulation Language)语句的正确执行。同时,也要验证数据仓库的ETL(Extract, Transform, Load)过程,确保数据从源头到目标...
- Hive DDL数据定义语法:学习如何创建、修改和删除表等。 - Hive DML数据管理语法:掌握插入、更新和删除数据的方法。 - Hive QL数据查询语法:学习SQL-like查询语言的基础。 - Join:了解不同类型的连接操作...
在本章中,我们将深入探讨HiveSQL的数据定义语言(DDL),这是大数据处理领域中一个至关重要的工具。DDL主要用于创建、修改和管理数据库中的结构,包括表、分区、索引等对象。理解并熟练掌握Hive的DDL对于任何在...
实验报告主要涵盖了Hive的安装、配置以及基本操作,包括DDL(Data Definition Language)和DML(Data Manipulation Language)的使用,Hive与MySQL的交互,UDF(User Defined Function)的开发,以及部分调优策略的...
Hive SQL支持大多数传统关系型数据库所支持的SQL语句类型,包括DDL(Data Definition Language)、DML(Data Manipulation Language)和DQL(Data Query Language)等。此外,Hive还支持一系列内置函数和用户自定义...
- **Hive DDL 支持**:用户可以使用 Hive DDL 语句来创建、修改和删除表。 - **强大的 SQL 支持**:Athena 支持 ANSI SQL,并且能够处理复杂的联接操作、嵌套查询和窗口函数。 #### 高度可用性 为了保证高可用性和...
hive 基本操作的命令和hive 实用命令等,有利与学习hive和mysql
Hive JDBC驱动的使用不仅限于基本的查询操作,还可以执行DML(数据操纵语言)语句如INSERT、UPDATE和DELETE,以及DDL(数据定义语言)语句来创建或修改表结构。此外,Hive JDBC还支持事务管理和元数据查询,为Java...
#### 二、DDL操作(数据定义语言) **2.1 建表操作** - **建表的三种方式**: - 直接创建新表。 - 通过LIKE语句创建新表,复制现有表的结构。 - 通过AS语句创建并填充数据。 - **创建内部表**:内部表的数据由...