sqoop не будет импортировать в куст как текстовый файл, но будет как паркетный файл - PullRequest
0 голосов
/ 03 ноября 2019

Я новичок в cloudera и пытаюсь использовать sqoop в виртуальной машине cloudera quickstart.

Я запускаю следующую команду для загрузки таблицы из mysql в куст:

sqoop import --connect jdbc:mysql://quickstart:3306/retail_db --username=retail_dba --password=cloudera --table departments_hive01 --hive-import --hive-overwrite --null-string '' -m 1 --as-textfile

По логам все выглядит нормально. Я даже вижу mapreduce.ImportJobBase: Retrieved 9 records., как и ожидалось. Однако после дальнейшего изучения я вижу, что таблица не существует в улье, и вместо этого она была записана в /user/cloudera/departments_hive01

Если я выполняю ту же самую точную команду с --as-parquetfile вместо --as-textfile, таблица загружается в кусткак и ожидалось, за исключением параметра --null-string теперь игнорируется.

Я замечаю, когда используется --as-textfile, я никогда не вижу никаких журналов, которые выглядят как:

19/11/03 11:08:59 INFO hive.metastore: Trying to connect to metastore with URI thrift://quickstart.cloudera:9083
19/11/03 11:08:59 INFO hive.metastore: Opened a connection to metastore, current connections: 1
19/11/03 11:08:59 INFO hive.metastore: Connected to metastore.

, но я делаю с--as-parquetfile

аналогично с --as-textfile я вижу строку журнала:

19/11/03 11:03:56 INFO hive.HiveImport: Loading uploaded data into Hive

, которую я не вижу с --as-parquetfile

почему паркет загружается в улейс --null-string игнорируется? почему текст не загружается в куст, но работает --null-string?

Версия Sqoop: Sqoop 1.4.6-cdh5.13.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...