Sqoop - 使用 Oozie 导入 Hive 失败
Posted
技术标签:
【中文标题】Sqoop - 使用 Oozie 导入 Hive 失败【英文标题】:Sqoop - Hive import using Oozie failed 【发布时间】:2015-01-29 11:36:16 【问题描述】:我正在尝试执行从 oracle 到 hive 的 sqoop 导入,但作业失败并出现错误
WARN [main] conf.HiveConf (HiveConf.java:initialize(2472)) - HiveConf of name hive.auto.convert.sortmerge.join.noconditionaltask does not exist
Intercepting System.exit(1)
<<< Invocation of Main class completed <<<
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1]
Oozie Launcher failed, finishing Hadoop job gracefully
-
我已准备好所有 jar 文件
hive-site.xml 也与 hive 元存储配置一起到位
<property>
<name>hive.metastore.uris</name>
<value>thrift://sv2lxgsed01.xxxx.com:9083</value>
</property>
我的workflow.xml如下
<workflow-app name="WorkflowWithSqoopAction" xmlns="uri:oozie:workflow:0.1">
<start to="sqoopAction"/>
<action name="sqoopAction">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>$jobTracker</job-tracker>
<name-node>$nameNode</name-node>
<command>import --connect
jdbc:oracle:thin:@//sv2axcrmdbdi301.xxx.com:1521/DI3CRM --username xxxxxxx --password xxxxxx--table SIEBEL.S_ORG_EXT --hive-table eg.EQX_EG_CRM_S_ORG_EXT --hive-import -m1</command>
<file>/user/oozie/oozieProject/workflowSqoopAction/hive-site.xml</file>
</sqoop>
<ok to="end"/>
<error to="killJob"/>
</action>
<kill name="killJob">
<message>"Killed job due to error: $wf:errorMessage(wf:lastErrorNode())"</message>
</kill>
<end name="end" />
</workflow-app>
我还可以在 HDFS 中找到正在加载的数据。
【问题讨论】:
【参考方案1】:你需要做两件事
1) 复制 oozie 工作流目录中的 hive-site.xml 2) 在您的 Hive 操作中告诉 oozie 使用我的 hive-site.xml
【讨论】:
感谢 Siva,问题在于 /user/oozie/share/lib 中缺少 jar以上是关于Sqoop - 使用 Oozie 导入 Hive 失败的主要内容,如果未能解决你的问题,请参考以下文章
利用oozie,执行sqoop action将DB2中的数据导入到hive分区表中
通过 oozie 从 sqoop 作业增量导入不会更新 sqoop 元存储中的 incremental.last.value