SemanticException 10072: база данных не существует (Sqoop) - PullRequest
0 голосов
/ 06 января 2019

Я создал внутреннюю таблицу улья с помощью команды sqoop.

sqoop import -Dmapreduce.map.memory.mb=4096 
--driver com.mysql.jdbc.Driver 
--connect 'jdbc:mysql://{mysql_url}' 
--username 'xxxx' 
--password 'xxxx' 
--input-fields-terminated-by '\t' 
--split-by id 
--target-dir {hdfs_path}
--verbose -m 1 
--hive-drop-import-delims 
--fields-terminated-by '\t' 
--hive-import 
--hive-table '{table_name}' 
--query "select id from temp WHERE \$CONDITIONS LIMIT 10"

Я создал в нее таблицу, и она начала находить.

19/01/06 19:33:44 DEBUG hive.TableDefWriter: Load statement: LOAD DATA INPATH 'hdfs://hadoop/{hdfs_path}' INTO TABLE `tmp.temp`
19/01/06 19:33:44 INFO hive.HiveImport: Loading uploaded data into Hive
19/01/06 19:33:44 DEBUG hive.HiveImport: Using in-process Hive instance.
19/01/06 19:33:44 DEBUG util.SubprocessSecurityManager: Installing subprocess security manager

Logging initialized using configuration in jar:file:${HADOOP_HOME}/hive-1.1.0-cdh5.14.2/lib/hive-common-1.1.0-cdh5.14.2.jar!/hive-log4j.properties

Создано в хранилище hdfs.

$ hadoop dfs -ls {hdfs_path}
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

19/01/06 19:43:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
 0 2019-01-06 19:33 {hdfs_path}/_SUCCESS
65 2019-01-06 19:33 {hdfs_path}/part-m-00000.gz

НО это была ошибка:

FAILED: SemanticException [Error 10072]: Database does not exist: tmp

Я уже занес файл-site.xml в каталог sqoop conf.

cp ${HIVE_HOME}/conf/hive-site.xml ${SQOOP_HOME}/conf/hive-site.xml

"hive.metastore.uris" был установлен локальный и удаленный хозяйственный.

Как мне это сделать? Помоги мне. Спасибо

1 Ответ

0 голосов
/ 09 января 2019

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

ubuntu@localhost:/usr/local/hive$ sqoop import -Dmapreduce.map.memory.mb=4096  --connect 'jdbc:mysql://localhost/test' --username 'root' -P --input-fields-terminated-by ',' --split-by id  --target-dir /user/hive/warehouse/test_hive --hive-drop-import-delims --fields-terminated-by ',' --hive-import --hive-database default --hive-table test_hive --query "select id from test WHERE \$CONDITIONS LIMIT 10"  --driver com.mysql.jdbc.Driver --delete-target-dir

Happy Hadooppppppppp

...