Команда Sqoop --hive-import не выполнена - PullRequest
0 голосов
/ 11 августа 2011

Я пытаюсь импортировать базу данных из mysql в Hive с помощью Hadoop с автоматическим созданием таблицы и загружать данные в куст с помощью команды "--hive-import" из Sqoop.

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

./sqoop import --connect jdbc:mysql://localhost/testhive --table temenan -m 1 --hive-import --username anwar -P

когда я выполняю эту команду, возникает ошибка, подобная этой

8/11 23:02:49 INFO hive.HiveImport: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.security.UserGroupInformation.login(Lorg/apache/hadoop/conf/Configuration;)Lorg/apache/hadoop/security/UserGroupInformation;
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.hive.shims.Hadoop20Shims.getUGIForConf(Hadoop20Shims.java:448)
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.hive.ql.security.HadoopDefaultAuthenticator.setConf(HadoopDefaultAuthenticator.java:51)
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.hive.ql.metadata.HiveUtils.getAuthenticator(HiveUtils.java:222)
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:241)
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:463)
11/08/11 23:02:49 INFO hive.HiveImport:     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11/08/11 23:02:49 INFO hive.HiveImport:     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
11/08/11 23:02:49 INFO hive.HiveImport:     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
11/08/11 23:02:49 INFO hive.HiveImport:     at java.lang.reflect.Method.invoke(Method.java:616)
11/08/11 23:02:49 INFO hive.HiveImport:     at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
11/08/11 23:02:49 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 1
    at com.cloudera.sqoop.hive.HiveImport.executeExternalHiveScript(HiveImport.java:326)
    at com.cloudera.sqoop.hive.HiveImport.executeScript(HiveImport.java:276)
    at com.cloudera.sqoop.hive.HiveImport.importTable(HiveImport.java:218)
    at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:362)
    at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:423)
    at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180)
    at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219)
    at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228)
    at com.cloudera.sqoop.Sqoop.main(Sqoop.java:237)

что не так с моей командой sqoop?или есть другая конфигурация в sqoop или в улье?

Помогите мне пожалуйста

Ответы [ 3 ]

1 голос
/ 06 мая 2014

Вы должны добавить параметр --hive-table и упомянуть таблицу в hive. Приведенная ниже команда автоматически создаст таблицу в улье с именем temenan_hive

./sqoop import --connect jdbc:mysql://localhost/testhive --table temenan -m 1  --username anwar -P --hive-import --hive-table temenan_hive
0 голосов
/ 20 января 2012

Вы можете попробовать create-hive-table , чтобы заполнить метасторское хранилище Hive определением таблицы на основе таблицы, представленной в HDFS.

Перейдите по ссылке для создания таблицы-улья

0 голосов
/ 15 августа 2011

У меня понижен рейтинг CDH3.1 до CDH3.0, затем я изменяю метастову Hive на статический, как показано ниже:

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=/home/hadoop/metastore_db;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

, тогда все работает хорошо:)

Спасибо всем

...