问题分析:
1.hive中分区表其底层就是HDFS中的多个目录下的单个文件,hive导出数据本质是将HDFS中的文件导出
2.hive中的分区表,因为分区字段(静态分区)不在文件中,所以在sqoop导出的时候,无法将分区字段进行直接导出
思路:在hive中创建一个临时表,将分区表复制过去后分区字段转换为普通字段,然后再用sqoop将tmp表导出即实现需求
步凑如下:
1.创建目标表(分区表)
hive> CREATE TABLE `dept_partition`(
`deptno` int,
`dname` string,
`loc` string)
PARTITIONED BY (`month` string) row format delimited fields terminated by '\t';
1.1查看表结构
hive> show create table dept_partition;
+----------------------------------------------------+--+
| createtab_stmt |
+----------------------------------------------------+--+
|