导入
准备数据
创建表
create table hive_test(id int,name string) row format delimited fields terminated by ',';
1 直接导入本地文件
load data local inpath '/export/data/hive_input/hive_test.txt' into table hive_test;
如果是hdfs文件去除local
2 put文件到hive对应的hdfs文件
先创建表,然后通过将文件上传到hive表对应的hdfs文件夹
hdfs dfs -put /export/data/hive_input/hive_test.txt
/user/hive/warehouse/myhive.db/hive_test
之后select * from hive_test 就可以查询出数据
3 impot 命令(sql命令行中执行)
import table hive_test1 from 'hdfs://node01:8020/export/data/123 ';
(提前把文件put到123文件下,地址不能是hive中表所在位置,会报错)
导出
1 直接导出到本地文件
insert overwrite local directory '/export/data/hive_export' row format delimited fields terminated by '\t'
collection items terminated by '#' select * from hive_test;
如果不写local是导出到hdfs
注意:hive_export需要是个空文件夹,不然会把原有数据删除.
2 hdfs get命令
hdfs dfs -get /user/hive/warehouse/myhive.db/hive_test/hive_test.txt /export/data/hive_export/hive_test.txt
3 hive命令行
hive hive -e "select * from myhive.hive_test;" > /export/data/hive_test.txt
4 export命令(sql命令行中)
export table hive_test to 'hdfs://node01:8020/export/data/123';