Динамическое создание ключа раздела с помощью команды Sqoop из MySQL в Hive - PullRequest
0 голосов
/ 01 октября 2019

Я хочу создать таблицу Hive путем импорта данных из MySQL. Следующая команда может создать таблицу -

sqoop import \
-D mapred.job.name=name \
-Dorg.apache.sqoop.splitter.allow_text_splitter=true \
-connect "connection_detail" \
-username "username" \
-password "pwd" \
-query "SELECT * FROM schema.tablename WHERE  \$CONDITIONS " \
-null-string '' \
-null-non-string '' \
-fields-terminated-by ',' \
-m 1 \
-hive-overwrite \
--hive-import \
--hive-table tablename \
-map-column-hive z_column=bigint,y_column=int,x_column=int \
-delete-target-dir \
-target-dir  "path_dir"

Теперь я хочу создать динамические столбцы разделов в таблице - я попробовал следующую команду. Но это выдает ошибку, указанную ниже -

sqoop import \
-D mapred.job.name=name \
-Dorg.apache.sqoop.splitter.allow_text_splitter=true \
-connect "connection_detail" \
-username "username" \
-password "pwd" \
-query "SELECT * FROM schema.tablename WHERE  \$CONDITIONS " \
-null-string '' \
-null-non-string '' \
-fields-terminated-by ',' \
-m 1 \
-hive-overwrite \
--hive-import \
--hive-table tablename \
-map-column-hive z_column=bigint,y_column=int,x_column=int \
--hive-partition-key a_column,b_column,c_column \
--hive-partition-value 'a_data','b_data','c_data' \
-delete-target-dir \
-target-dir  "path_dir"

FAILED: ParseException строка 1: 367 не может распознать ввод рядом с ',' 'b_column' ',' в типе столбца

Где именноошибка?

...