- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试在 Hue 的 Oozie 编辑器中使用 Sqoop 操作,但是我无法让它工作。
这是我到目前为止尝试过的方法。
我将所有内容都放在参数中,而不是命令 (http://alvincjin.blogspot.com.au/2014/06/create-sqoop-action-in-oozie-using-hue.html)
此外,我正在尝试连接到 Teradata,因此我将 jdbc jar 放在 HDFS 中,并将它们添加到文件中。这是当前工作流程在编辑器中的样子: Sqoop Action.
工作流定义是:
<workflow-app name="Sqoop_test" xmlns="uri:oozie:workflow:0.5">
<start to="sqoop-b20d"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="sqoop-b20d">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>development</value>
</property>
<property>
<name>mapred.job.name</name>
<value>test_sqoop</value>
</property>
<property>
<name>mapred.task.timeout</name>
<value>0</value>
</property>
</configuration>
<arg>import</arg>
<arg>--connect</arg>
<arg>jdbc:teradata://XXXXX</arg>
<arg>--query</arg>
<arg>select count(*) from XXXXX</arg>
<arg>--fetch-size</arg>
<arg>10000</arg>
<arg>--num-mappers</arg>
<arg>1</arg>
<arg>--hive-table-name</arg>
<arg>XXXXX.tmp_sqoop_test</arg>
<arg>--hive-import</arg>
<arg>--hive-overwrite</arg>
<arg>--target-dir</arg>
<arg>/user/dXXXXX/digital/test/tmp_sqoop_test</arg>
<arg>--username</arg>
<arg>XXXXX</arg>
<arg>--password</arg>
<arg>XXXXX</arg>
<file>/user/hue/oozie/workspaces/digital/lib/terajdbc4.jar#terajdbc4.jar</file>
<file>/user/hue/oozie/workspaces/digital/lib/teradata-connector-1.3.4-hadoop220.jar#teradata-connector-1.3.4-hadoop220.jar</file>
</sqoop>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
</workflow-app>
但是,我得到这个错误:
2016-01-06 14:13:52,114 ERROR [main] tool.BaseSqoopTool (BaseSqoopTool.java:hasUnrecognizedArgs(296)) - Error parsing arguments for import:
2786 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: --hive-table-name
2016-01-06 14:13:52,114 ERROR [main] tool.BaseSqoopTool (BaseSqoopTool.java:hasUnrecognizedArgs(299)) - Unrecognized argument: --hive-table-name
2786 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: XXXXX.tmp_sqoop_test
2016-01-06 14:13:52,114 ERROR [main] tool.BaseSqoopTool (BaseSqoopTool.java:hasUnrecognizedArgs(299)) - Unrecognized argument: tdcprdr_app_digital.tmp_sqoop_test
2786 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: --hive-import
2016-01-06 14:13:52,114 ERROR [main] tool.BaseSqoopTool (BaseSqoopTool.java:hasUnrecognizedArgs(299)) - Unrecognized argument: --hive-import
2786 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: --hive-overwrite
2016-01-06 14:13:52,114 ERROR [main] tool.BaseSqoopTool (BaseSqoopTool.java:hasUnrecognizedArgs(299)) - Unrecognized argument: --hive-overwrite
2787 [main] ERROR org.apache.sqoop.tool.BaseSqoopTool - Unrecognized argument: --target-dir
2016-01-06 14:13:52,115 ERROR [main] tool.BaseSqoopTool (BaseSqoopTool.java:hasUnrecognizedArgs(299)) - Unrecognized argument: --target-dir
...
我的印象是这个错误可以通过将所有内容都放在参数中来解决。当通过 shell 脚本运行时,相同的代码会起作用。我试过将导入命令和连接字符串放在命令部分,但它甚至没有运行。我也尝试创建一个简约的 sqoop 操作,仅使用如下查询和连接语句:
<workflow-app name="Sqoop_minimal" xmlns="uri:oozie:workflow:0.5">
<start to="sqoop-eeeb"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="sqoop-eeeb">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<arg>import</arg>
<arg>--connect</arg>
<arg>jdbc:teradata://tdXXXXX</arg>
<arg>--query</arg>
<arg>select count(*) from XXXXX</arg>
<arg>--target-dir</arg>
<arg>/user/dXXXXX/digital/test/tmp_sqoop_test</arg>
<arg>--username</arg>
<arg>XXXXX</arg>
<arg>--password</arg>
<arg>XXXXX</arg>
<file>/user/hue/oozie/workspaces/digital/lib/teradata-connector-1.3.4-hadoop220.jar#teradata-connector-1.3.4-hadoop220.jar</file>
<file>/user/hue/oozie/workspaces/digital/lib/terajdbc4.jar#terajdbc4.jar</file>
</sqoop>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
</workflow-app>
在这个工作流中,我得到一个非常模糊的错误如下:
>>> Invoking Sqoop command line now >>>
2287 [main] WARN org.apache.sqoop.tool.SqoopTool - $SQOOP_CONF_DIR has not been set in the environment. Cannot check for additional configuration.
2016-01-06 14:57:48,381 WARN [main] tool.SqoopTool (SqoopTool.java:loadPluginsFromConfDir(175)) - $SQOOP_CONF_DIR has not been set in the environment. Cannot check for additional configuration.
2324 [main] INFO org.apache.sqoop.Sqoop - Running Sqoop version: 1.4.5.3.0.0.0-249
2016-01-06 14:57:48,418 INFO [main] sqoop.Sqoop (Sqoop.java:<init>(92)) - Running Sqoop version: 1.4.5.3.0.0.0-249
2339 [main] WARN org.apache.sqoop.tool.BaseSqoopTool - Setting your password on the command-line is insecure. Consider using -P instead.
2016-01-06 14:57:48,433 WARN [main] tool.BaseSqoopTool (BaseSqoopTool.java:applyCredentialsOptions(1014)) - Setting your password on the command-line is insecure. Consider using -P instead.
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
Oozie 版本为 4.1.0.3.0.0.0-249。
我试过在线搜索解决方案,但没有成功。任何帮助,将不胜感激。谢谢!
已经看到并尝试过链接:
https://community.cloudera.com/t5/Batch-Processing-and-Workflow/Sqoop-fails-with-quot-Error-parsing-arguments-for-import-quot/td-p/31930
http://stackoverflow.com/questions/25770698/sqoop-free-form-query-causing-unrecognized-arguments-in-hue-oozie
最佳答案
sqoop没有这样的论据--hive 表名采用-- hive 表。它现在不应该显示无法识别的参数
关于hadoop - 在 Oozie 编辑器 (Hue) 中使用 Sqoop 操作时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34625527/
当我们使用以下设置时,Sqoop 导入会导致重复/部分记录 --query - 自定义查询 --split-by - 非整数列(字符) --num-mappers - 超过 2 Verified th
我安装了 Hadoop、Hive、HBase、Sqoop 并将它们添加到 PATH 中。 当我尝试执行 sqoop 命令时,出现此错误: Error: Could not find or load m
当我连接到一个集群 ( aaaaaa1 ) 上的 mysql 和不同服务器 ( aaaaaa2 ) 上的 sqooop 时,我收到以下错误,尽管在 mySql 中创建了一个表,并授予另一个集群的完全权
我发现以下命令对于查看我的源数据库的样子非常有用: sqoop-list-databases sqoop-list-tables 但是,似乎没有列出表中列的命令,这将是一个合乎逻辑的步骤。 我现在的问
我很困惑虽然导入库(com.cloudera.sqoop 和 org.apache.sqoop)并在 eclipse 中获取它(包含 jar sqoop-1.4.4-hadoop200.jar)- I
sqoop import命令中$conditions子句的意义是什么? select col1, col2 from test_table where \$CONDITIONS 最佳答案 Sqoop
sqoop import命令中$conditions子句的意义是什么? select col1, col2 from test_table where \$CONDITIONS 最佳答案 Sqoop
我正在使用共享节点集群 Hadoop 2.5.0-cdh5.3.2 请共享要加载的所有兼容版本的 MySql jar 文件的名称以及 HDFS 和 MySQL 之间成功导入和导出的所有路径文件夹。 我
我在Azkaban中使用shell命令,并将Sqoop命令放在shell脚本中。 今天 Sqoop 任务无缘无故卡住了,sqoop_task1。 几天前发生在另一个 sqoop 任务上,我们称它为 s
我已经在计算机上安装了sqoop (来自http://www.apache.org/dist/sqoop/1.4.4/的sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz)。 当
我刚刚下载了Sqoop安装文件sqoop-1.99.3-bin-hadoop100.tar.gz。我无法在其中找到文件 addtowar.sh。我按照此处的安装说明进行操作 - https://sqo
我有一个 Oozie 工作流,它应该每 X 分钟运行一次。它从 HBase 表中读取一个值。在此之后,基于上一步从 HBase 读取的值运行(增量)Sqoop 操作。为了使工作流正常工作,我需要以某种
[cloudera@quickstart ~]$ **sqoop import-all-tables -m=4 --connect "jdbc:mysql://quickstart.cloudera:
我正在使用 hadoop 2.6.0,现在我正在尝试 sqoop-1.4.5.bin__hadoop-2.0.4-alpha.tar.gz。我正在使用 sqoop 版本 sqoop version 2
我发现在运行时覆盖 sqoop 作业属性时,我只能覆盖一个属性。 例子1:如果我提交 sqoop job --exec test123 -- --query "select * from test w
如何使用sqoop job自动化sqoop增量导入? 据我所知,sqoop job 会记住最后一个值。如果我们创建一个类似 的 sqoop 作业 sqoop job --create myjob --
我正在尝试使用 sqoop export 将记录从 S3 导出到 Mysql Aurora。 S3 中的数据类型之一是 clob,它的长文本和 XML 文件作为 string 存储在其中。 当我运行我
我正在对由计算量大的自定义查询生成的大型记录集进行原型(prototype)迁移。此查询大约需要 1-2 小时才能在 SQL Developer 中返回结果集 我正在尝试将此查询传递给一个简单的 Sq
谁能告诉我这个命令的输出是什么:这里的 departments 表有默认的 6 行(从 dept_id 2 到 7),然后我向 Mysql db 'retail_db.departments' 表(d
根据 sqoop.apache.org 的说法,Sqoop 2 的功能并不完整,不应该用于生产系统。很公平,有些人可能想在他们的测试环境中测试 Sqoop 2 的新功能。 Cloudera 对 Sqo
我是一名优秀的程序员,十分优秀!