繁体   English   中英

使用sqoop将数据从Oracle导入到Hive中-无法使用--hive-partition-key

[英]Import data from oracle into hive using sqoop - cannot use --hive-partition-key

我有一个简单的表:

create table osoba(id number, imie varchar2(100), nazwisko varchar2(100), wiek integer);
insert into osoba values(1, 'pawel','kowalski',36);
insert into osoba values(2, 'john','smith',55);
insert into osoba values(3, 'paul','psmithski',44);
insert into osoba values(4, 'jakub','kowalski',70);
insert into osoba values(5, 'scott','tiger',70);

commit;

我想使用sqoop导入Hive。 我想在Hive中创建分区表。 这是我的sqoop命令:

-bash-4.1$ sqoop import -Dmapred.job.queue.name=pr  --connect "jdbc:oracle:thin:@localhost:1521/oracle_database" \
--username "user" --password "password" --table osoba --hive-import \
--hive-table pk.pk_osoba --delete-target-dir --hive-overwrite \
--hive-partition-key nazwisko

我得到一个错误:

FAILED: SemanticException [Error 10035]: Column repeated in partitioning columns

谁能建议应使用--hive-partition-key参数吗? 没有--hive-partition-key参数的Sqoop命令可以正常工作,并在Hive中创建表pk.pk_osoba。

问候

帕维尔

在“列”选项中,提供除分区列之外要导入的所有那些列名称。 我们不会在--columns选项中指定分区列,因为它会自动添加。

下面是示例:我正在导入具有ID,NAME,COUNTRY列的DEMO2表。 我没有在--columns选项中指定COUNTRY列名,因为它是我的分区列名。

 $SQOOP_HOME/bin/sqoop import --connect jdbc:oracle:thin:@192.168.41.67:1521/orcl --username orcluser1 --password impetus --hive-import --table DEMO2 --hive-table "DEMO2" --columns ID,NAME --hive-partition-key 'COUNTRY' --hive-partition-value 'INDIA' --m 1 --verbose --delete-target-dir --target-dir /tmp/13/DEMO2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM