Sqoop zu create table schema mit "sqoop erstellen einer hive-Tabelle"

Ich habe mit sqoop erstellen-hive-table-Befehl mit den entsprechenden Argumenten, die würde kopieren Sie die Tabelle schema von mysql oder jede RDBMS-in-Struktur. Heute stieß ich auf eine Anforderung, wo ich zu verwenden habe

"sqoop erstellen einer hive-Tabelle" zusammen mit-hive-partition-key create table schema mit partition-Spalte angegeben. Die sqoop Befehl, den ich verwendet:

sqoop erstellen einer hive-Tabelle --connect jdbc:mysql://localhost/XYZ \
--username-XYZ --password password \
--Tabelle POC_XYZ_Partition \
--hive-Tabelle POC_XYZ.POC_Datatype_Mapping_Sodhi \
--hive-partition-key join_date \
--fields-terminated-by ',' --lines-terminated-by '\n'

welche fehlerhaft mit der Fehlermeldung:

ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.IllegalArgumentException: Partition key join_date cannot be a column to import.

Ich weiß partition Schlüssel sollte nicht ein Teil der create table-Befehl, aber ich habe ganz vergessen, dass.

Gefunden habe ich dann ein work-around und nicht:

sqoop create-hive-table --connect jdbc:mysql://localhost/XYZ \
--username XYZ --password password \
--table POC_XYZ_Partition \
--hive-table POC_XYZ.POC_Datatype_Mapping_Sodhi \
--hive-partition-key join_date_partition \
--fields-terminated-by ',' --lines-terminated-by '\n'

Oben erstellt das schema, aber später, wenn ich versuchte, laden von Daten aus mysql in hdfs ist es unter Berücksichtigung der join_date_partition ein Teil der mysql-Tabelle, und nicht immer die Daten aus der mysql.

Ich habe versucht, viele Lösungen wie:

sqoop import --connect jdbc:mysql://localhost/XYZ \
--username XYZ --password password \
--query 'select a.*, a.join_date as join_date_partition from POC_XYZ_Partition a WHERE $CONDITIONS' \
--split-by id \
--hcatalog-database POC_XYZ \
--hcatalog-table POC_XYZ_Partition;

aber konnte nicht importiert werden die Daten aufgrund eines Fehlers in sqoop, die nicht erlauben würde, mich zu duplizieren die Namen der Spalten in sqoop.

Hat jemand vor das Problem und es behoben? Wenn so, schlagen Sie bitte

InformationsquelleAutor Maverick4U | 2014-10-02
Schreibe einen Kommentar