Hive创建表|数据的导入|数据导出的几种方式
* Hive创建表的三种方式
1、使用create命令创建一个新表
例如:create table if not exists db_web_data.track_log(字段) partitioned by (date string,hour string) row format delimited fields terminated by '\t';
2、把一张表的某些字段抽取出来,创建成一张新表
例如:create table backup_track_log as select * from db_web_data.track_log; 尖叫提示:会复制属性以及属性值到新的表中
3、复制表结构
例如:create table like_track_log like db_web_data.track_log; 尖叫提示:不会复制属性值,只会复制表结构。
* Hive表导入数据五种方式
1、本地导入
load data local inpath 'local_path/file' into table 表名称 ;
2、HDFS导入
load data inpath 'hdfs_path/file' into table 表名称 ;
3、覆盖导入
load data local inpath 'path/file' overwrite into table 表名称 ; load data inpath 'path/file' overwrite into table 表名称 ;
4、查询导入
create table track_log_bak as select * from db_web_data.track_log;
5、insert导入
** 追加-append-默认方式 insert into table 表名 select * from track_log; ** 覆盖-overwrite-显示指定-使用频率高 insert overwrite table 表名 select * from track_log;
* Hive表导出数据四种方式
1、本地导出
例如:insert overwrite local directory "/home/admin/Desktop/1/2" row format delimited fields terminated by '\t' select * from db_hive_demo.emp ; 尖叫提示:会递归创建目录
2、HDFS导出
例如:insert overwrite diretory "path/" select * from staff;
3、Bash shell覆盖追加导出
例如:$ bin/hive -e "select * from staff;" > /home/z/backup.log
4、Sqoop