Hive之DDL、DML数据操作

本文详细介绍了Hive中的DDL(数据定义语言)和DML(数据操作语言),涵盖了数据库和表的创建、查询、修改、删除等操作,以及数据的导入和导出方法。

目录

一、DDL(Data Definition Language 数据库定义语言)

1.创建数据库

2.查询数据库

3.修改数据库

4.删除数据库

5.创建表

管理表(内部表)

外部表

两个表的相互转换

修改表

删除表

清除表

二、DML数据操作

1.数据导入

向表中装载数据(Load)

通过查询语句向表中插入数据(Insert)

查询语句中创建表并加载数据(As Select)

创建表时通过Location指定加载数据路径

Import数据到指定Hive表中

2.数据导出

Hadoop命令导出到本地

Hive Shell 命令导出

Export导出到HDFS上


一、DDL(Data Definition Language 数据库定义语言)

1.创建数据库

CREATE DATABASE [IF NOT EXISTS] database_name     --[IF NOT EXISTS] 增强代码的健壮性
[COMMENT database_comment]                        --库的注释
[LOCATION hdfs_path]                              -- 指定对应的hdfs路径
[WITH DBPROPERTIES (property_name=property_value, ...)]; --库的属性

创建库

//数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db
hive (default)> create database db_hive; 
hive (default)> create database if not exists db_hive; //标准写法
hive (default)> create database db_hive2 location '/db_hive2';//指定在hdfs上存放的位置

2.查询数据库

hive> show databases; //查询数据库
hive> show databases like 'db_hive*'; //查询指定要求的数据库
hive> desc database db_hive; //显示数据库信息
hive> desc database extended db_hive; //显示数据库详细信息
hive (default)> use db_hive; //切换数据库

3.修改数据库

      只可以使用ALTER DATABASE命令为某个数据库的DBPROPERTIES设置键-值对属性值,来描述这个数据库的属性信息。数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录位置。

hive (default)> alter database db_hive set dbproperties('createtime'='20170830');
//设置某些键值对属性

4.删除数据库

hive>drop database db_hive2; //删除空数据库
hive> drop database if exists db_hive2; //标准写法
hive> drop database db_hive cascade; //强制删除数据库

5.创建表

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name   --external 如果不加创建表为内部表
                                                              --加上以后创建表为外部表
[(col_name data_type [COMMENT col_comment], ...)]    --列名 类型 列的注释
[COMMENT table_comment]                              --表的注释
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]  --创建表为分区表
[CLUSTERED BY (col_name, col_name, ...)                           --创建表为分桶表
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]  --桶内排序字段 分几个桶
[ROW FORMAT DELIMITED]                    --表的数据对应格式
 [FIELDS TERMINATED BY char]              --字段分隔符  ascii 1号位 ^A  ctrl+v ctrl+a
 [COLLECTION ITEMS TERMINATED BY char]    --集合分隔符  ascii 2号位 ^B  ctrl+v ctrl+b
 [MAP KEYS TERMINATED BY char]            --map的kv分隔符 ascii 3号位 ^C  ctrl+v ctrl+c
 [LINES TERMINATED BY char] ]              --行分隔符   默认值'\n'
 以上的默认值非常不好用
[STORED AS file_format]   --表对应的数据存储的格式  TEXTFILE .txt orc 
[LOCATION hdfs_path]      --表所对应hdfs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值