Hive 基本操作 DDL

  • 数据类型

     

  • 要求:字段的类型和顺序要和结构化文件保持一致 hive会尝试转换 不保证转换成功 如果成功就显示 如果失败就显示null
  1. hive除了支持sql类型 还支持java类型 大小写不敏感
  2. hive除了支持基本类型 还支持复合类型(map array) 针对复合类型要跟分隔符指定有关
  • hive读取数据映射的机制

     

  1. 首先调用Inputformat进行读取数据,默认TextInputFormat(一行一行读)
  2. 然后调用SerDe类进行数据切割,默认LazySimpleSerDe根据指定分隔符进行数据切割

分割符指定:

语法格式:

ROW FORMAT DELIMITED | SERDE

ROW FORMAT : 表明开始指定分隔符
DELIMITED : 使用内置默认的类来进行数据切割 默认LazySimpleSerDe
SERDE :表明使用其他的类来进行数据切割
 
 
 
x
 
 
 
 
 
1
ROW FORMAT DELIMITED | SERDE
2

3
ROW FORMAT : 表明开始指定分隔符
4
DELIMITED : 使用内置默认的类来进行数据切割 默认LazySimpleSerDe
5
SERDE :表明使用其他的类来进行数据切割
 
 
[FIELDS TERMINATED BY char]  指定字段之间的分隔符
[COLLECTION ITEMS TERMINATED BY char] 指定集合元素之间分隔符
[MAP KEYS TERMINATED BY char]  指定map kv之间的分隔符
[LINES TERMINATED BY char] |  指定换行符\r\n
 
 
 
 
 
 
 
 
 
1
[FIELDS TERMINATED BY char]  指定字段之间的分隔符
2
[COLLECTION ITEMS TERMINATED BY char] 指定集合元素之间分隔符
3
[MAP KEYS TERMINATED BY char]  指定map kv之间的分隔符
4
[LINES TERMINATED BY char] |  指定换行符\r\n
 
 

日常命令:

show tables;
显示当前数据库所有表
show databases |schemas;
显示所有数据库
show partitions table_name;
显示表分区信息,不是分区表执行报错
desc formatted table_name;
查看表信息(格式化美观)
 
 
 
x
 
 
 
 
 
1
show tables;
2
显示当前数据库所有表
3
show databases |schemas;
4
显示所有数据库
5
show partitions table_name;
6
显示表分区信息,不是分区表执行报错
7
desc formatted table_name;
8
查看表信息(格式化美观)
 
 

hive错误的分类:

Error while compiling statement    编译期间的错误 sql语法错误 
Error while processing statement   执行期间的错误  逻辑思维的错误 sql语法层面没问题
 
 
 
1
 
 
 
 
 
1
Error while compiling statement    编译期间的错误 sql语法错误 
2
Error while processing statement   执行期间的错误  逻辑思维的错误 sql语法层面没问题
 
 
 

 



posted @ 2019-09-11 00:23  DaBai的黑屋  阅读(372)  评论(0编辑  收藏  举报
Live2D