hive的语句
- 查看表在hdfs上的目录
show create table 表名
- 设置reduce个数
set mapred.reduce.tasks=4;
- 创建内部表并指定分隔符
create table person(name STRING,age INT)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
- 映射文件(内部表)
- 将文件copy到hdfs下对应表下的文件夹
- 从本地文件映射,并且load会将文件自动保存到hdfs上的/user/hive/warehouse中
- load data hdfs上的数据时,会将数据剪切到hive表所在文件中,无论内部表还是外部表。
LOAD DATA LOCAL INPATH '/home/hadoop/hfxdoc/person.txt' OVERWRITE INTO TABLE person;
- 映射文件(外部表创建及映射)
create external table fz_external_table(id int,name string,age int,tel string)
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY ','
> STORED AS TEXTFILE
> location '/user/hive/external/fz_external_table';
- 必须是目录,不能是文件(在hdfs上)使用location的话,在hive的数据仓库看不到,不使用location的话,会保存到hive的数据仓库上(删除表数据不丢失);
分区表
- 创建
- partition 必须放在row format前面
create external table demo1(id int,name string,age int)partitioned by (month string,day string)row format delimited fields terminated by ',';
- 导入数据增加分区
分区表导入数据要是用load data