Hive知识点

编程中的点滴体验 2019-12-04

1、Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理;
(也就是说对存储在HDFS中的数据进行分析和管理,我们不想使用手工,我们建立一个工具把,那么这个工具就可以是hive)

2、 hive建表语法中的分隔符设定
ROW FORMAT DELIMITED 分隔符设置开始语句
FIELDS TERMINATED BY:设置字段与字段之间的分隔符
COLLECTION ITEMS TERMINATED BY:设置一个复杂类型(array,struct)字段的各个item之间的分隔符
MAP KEYS TERMINATED BY:设置一个复杂类型(Map)字段的key value之间的分隔符
LINES TERMINATED BY:设置行与行之间的分隔符
例:
hive> create table t(id struct<id1:int,id2:int,id3:int>,name array<string>,xx map<int,string>)

row format delimited
fields terminated by ‘\t‘
collection items terminated by ‘,‘
map keys terminated by ‘:‘
lines terminated by ‘\n‘;
OK
Time taken: 0.287 seconds
ROW FORMAT DELIMITED 必须在其它分隔设置之前,也就是分隔符设置语句的最前
LINES TERMINATED BY必须在其它分隔设置之后,也就是分隔符设置语句的最后,否则会报错

3、load 语法
(终端输入pwd查看文件路径,overwrite是覆盖表中原内容)
LOAD语句:load data [local] inpath ‘filepath‘ [overwrite]
into table tablename [partition (partcol1=val1,partcol2=val2...)]

--将/root/data下的所有数据文件导入t3表中,并且覆盖原来的数据
load data local inpath ‘/root/data/‘ overwrite into table t3;

--将HDFS中 /input/student01.txt 导入到t3
load data inpath ‘/input/student01.txt‘ overwrite into table t3;

--将数据导入分区表
load data local inpath ‘/root/data/data1.txt‘ into table partition_table partition(gender=‘M‘);

4、hive 语句区分大小写

相关推荐