export可以把hive表或分区中的数据随着元数据一起导出到指定的路径下。
导出的数据可以被移动到其他的hadoop、hive中去。
在其他的hadoop、hive中想要用export出的数据,就要使用import命令。
导出一个表的分区,原始数据能够被加载到不同的HDFS中。也可以导出/导入一个分区的子集。
导出/导入的元数据库可以不一样,比如derby到mysql。
EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])]
TO 'export_target_path' [ FOR replication('eventid') ]
IMPORT [[EXTERNAL] TABLE new_or_original_tablename [PARTITION (part_column="value"[, ...])]]
FROM 'source_path'
[LOCATION 'import_target_path']
例子
Simple export and import:
export table department to 'hdfs_exports_location/department';
import from 'hdfs_exports_location/department';
Rename table on import:
export table department to 'hdfs_exports_location/department';
import table imported_dept from 'hdfs_exports_location/department';
Export partition and import:
export table employee partition (emp_country="in", emp_state="ka") to 'hdfs_exports_location/employee';
import from 'hdfs_exports_location/employee';
Export table and import partition:
export table employee to 'hdfs_exports_location/employee';
import table employee partition (emp_country="us", emp_state="tn") from 'hdfs_exports_location/employee';
Specify the import location:
export table department to 'hdfs_exports_location/department';
import table department from 'hdfs_exports_location/department'
location 'import_target_location/department';
Import as an external table:
export table department to 'hdfs_exports_location/department';
import external table department from 'hdfs_exports_location/department';