标签:
1、hive数据类型:
基本数据类型:tinyint、smallint、int、bigint、float、double、boolean、string
复合数据类型:
array:一段有序字段,字段的类型必须相同
map:一组无序的健/值对,健的类型必须是原子类型
struct:一组命名的字段,类型可以不同
复杂数据类型用法如下:
Create
table
complex(
col1 ARRAY<
INT
>,
Col2 MAP<STRING,
INT
>,
Col3 STRUCT<a:STRING,b :
INT
,c:
DOUBLE
>
);
Select
col1[0],col2[‘b’],col3.c
from
complex;
hive>Create
table
tuoguan_tbl (flied string);
hive>load
data
local
inpath ‘home/hadoop/test.txt’
into
table
tuoguan_tbl;
hive> create external table external_tb1(field string)
> location ‘/user/username/input/tb_wordcount‘;//如果不加location数据会加载到hive的数据仓库中
hive>load
data
local
inpath ‘test.txt’
into
table
external_tbl;
托管表、外部表的区别除了加载的数据存放的目录不一样外,还有一个是使用drop命令的区别,托管表在drop时存储的数据还有元数据都会删除,而外部表只会删除元数据,不会删除存储数据。
查看表的具体信息使用:
desc tableName 或者 desc formatted tableName
(3)partition:分区
hive分区是根据某列的值进行粗略的划分,每个分区对应hdfs上的一个目录,例如:
有几个目录/user/username/input/2015/01、/user/username/input/2015/02两个目录,建表想以年、月份分区,可建表:
Create
table
logs(id
int
,line string)
Partitioned
by
(year string,month string);
set
hive.enforce.bucketing =
true
标签:
原文地址:http://www.cnblogs.com/zhli/p/4853626.html