从本地导入
hive> LOAD DATA LOCAL INPATH '/home/username/hivedata/source.txt' INTO TABLE tablename PARTITION(create_time='2018-01-01');
导出到本地
--不能使用insert into local directory来导出数据,会报错
--只能使用insert overwrite local directory来导出数据
hive> insert overwrite local directory '/home/username/hivedata/tablename'
> select * from tablename;
关键字local,指示当前导出到的是本地文件系统
0.11版本后可以指定分隔符
hive> insert overwrite local directory '/home/username/hivedata/tablename'
> row format delimited
> fields terminated by '\t'
> select * from tablename;
从hdfs导入
和从本地文件系统导入一样简单,去掉local即可:
hive> LOAD DATA LOCAL INPATH '/home/username/hivedata/source.txt' INTO TABLE tablename PARTITION(create_time='2018-01-01');
导出到hdfs
和导入数据到本地文件系统一样的简单,去掉local即可:
hive> insert overwrite directory '/home/username/hivedata/tablename'
> row format delimited
> fields terminated by '\t'
> select * from tablename;
hive表到hive表导入导出
其实就是将一个查询保存下来。
hive> INSERT INTO TABLE testA PARTITION(create_time='2018-01-01') select id, name, area from testB where id = 1;