假设我们有一个名为lastdb
且表person
的mysql数据库。该表包含4列,分别为:id
,firstname
,lastname
,age
。
在person
表中的行:
1, Firstname, Lastname, 20
我想将数据从此mysql person
表导入具有相同结构的配置单元表,但仅从表person
的第一列和最后一列导入。因此,在导入后,hive表中的行应如下所示:
1, NULL, NULL, 20
我尝试了以下sqoop命令:
sqoop import --connect jdbc:mysql://localhost:3306/lastdb --table person --username root --password pass --hive-import --hive-database lastdb --hive-table person --columns id,age
但是它以以下格式将行导入到配置单元表中:
1, 20, NULL, NULL
谁能告诉我该如何解决?
答案 0 :(得分:-1)
鉴于MySQL表中的行是id, firstname, lastname, age
个值:1, NULL, NULL, 20,
,那么,运行下面的sqoop import脚本将在配置单元person
中给出所需的结果。
~]$ sqoop import \
--connect \
jdbc:mysql://localhost:3306/lastdb \
--username=root \
--password=pass \
--query 'select * from person WHERE $CONDITIONS' \
--hive-import \
--hive-table person \
--hive-database lastdb \
--target-dir /user/hive/warehouse/person -m 1