一.Hive 简介
Hive是基于 Hadoop 分布式文件系统的一种数据库,它的数据都是以文件形式存在的。
Hive中的每一条记录对应于文件中的一行,各个字段的值是被指定的分隔符分隔的。在读数据的时候,会将文件行以分隔符分隔字段值,并将各个值按顺序给字段; 现有的 hive 的权限基于文件的,如果某个用户对表对应的文件有读的权限,那么用户就对表有读的权限。
当前 hive 运用最多的是分区,hive 会将各个分区的数据分别放在不同的文件夹下;
在用 hive 执行 SQL 语句时,是将语句处理成 mapreduce 程序运行的。
二.数据类型
整型 int 4 字节 smallint 2 字节 Tinyint 1 字节 bigint 8 字节
浮点数 float double
字符串 string
布尔型 boolean
不支持日期时间型
不支持二进制串
其它数据类型
ARRAY
MAP
STRUCT
三.支持各种内建函数
略...
四.DDL(数据定义)
1.创建和删除建数据库
2.建表
Hive是基于 Hadoop 分布式文件系统的一种数据库,它的数据都是以文件形式存在的。
Hive中的每一条记录对应于文件中的一行,各个字段的值是被指定的分隔符分隔的。在读数据的时候,会将文件行以分隔符分隔字段值,并将各个值按顺序给字段; 现有的 hive 的权限基于文件的,如果某个用户对表对应的文件有读的权限,那么用户就对表有读的权限。
当前 hive 运用最多的是分区,hive 会将各个分区的数据分别放在不同的文件夹下;
在用 hive 执行 SQL 语句时,是将语句处理成 mapreduce 程序运行的。
二.数据类型
整型 int 4 字节 smallint 2 字节 Tinyint 1 字节 bigint 8 字节
浮点数 float double
字符串 string
布尔型 boolean
不支持日期时间型
不支持二进制串
其它数据类型
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;
三.支持各种内建函数
略...
四.DDL(数据定义)
1.创建和删除建数据库
create database if not exists db_test
comment '用于测试';
drop database if exists db_test;
2.建表
create external table order_joined_extend(
addr_id bigint comment 'address id' ,
alliance_id int ,
allot_quantity int ,
city_ship_type_desc string
)
comment 'order_joined_extend'
partitioned by (create_date string,type string)
row format delimited fields terminated by '\001'
lines terminated by '\n'
stored a