Hive数据的导入和导出

时间:2022-12-02 14:56:00


导入

以下通过hive交互shell 执行

// 创建ai库
create database ai;

show databases;
// 创建表 partition 添加分区 字段用tab间隔
create table table_name(
name string,
encode string) PARTITIONED BY(dt string)
row format delimited fields terminated by '\t';

// 从hdfs导入文件 添加分区信息 从本地导入 load data local inpath ...
load data local inpath 'first.csv' into table table_name PARTITION(dt="2019-11-18");

//查看导入的信息
select * from info limit 10;

若未指定为外部表(external table),则默认为托管表(managed table)。二者的区别在于load与drop操作:托管表用load data inpath加载数据(路径可为本地目录,也可是HDFS目录),该操作会将该文件放在HDFS目录:/user/hive/warehouse/ 下;而外部表的数据是在location中指定,一般配合partition描述数据的生成信息;drop托管表时会将元数据与/user/hive/warehouse/下的数据一起删掉,而drop外部表时只会删除元数据,如果要删除外部表可以(先删除分区)将外部表转为内部表后删除。