- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 Hadoop-1.2.1 和 Sqoop-1.4.6。我正在使用 sqoop 使用以下命令将表 test
从数据库 meshtree
导入 HDFS:
`sqoop import --connect jdbc:mysql://localhost/meshtree --username user --password password --table test`
但是,它显示了这个错误:
17/06/17 18:15:21 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
17/06/17 18:15:21 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
17/06/17 18:15:21 INFO tool.CodeGenTool: Beginning code generation
17/06/17 18:15:22 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `test` AS t LIMIT 1
17/06/17 18:15:22 INFO orm.CompilationManager: HADOOP_HOME is /home/student /Installations/hadoop-1.2.1/libexec/..
Note: /tmp/sqoop-student/compile/6bab6efaa3dc60e67a50885b26c1d14b/test.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
17/06/17 18:15:24 ERROR orm.CompilationManager: Could not rename /tmp/sqoop- student/compile/6bab6efaa3dc60e67a50885b26c1d14b/test.java to /home/student /Installations/hadoop-1.2.1/./test.java
org.apache.commons.io.FileExistsException: Destination '/home/student /Installations/hadoop-1.2.1/./test.java' already exists
at org.apache.commons.io.FileUtils.moveFile(FileUtils.java:2378)
at org.apache.sqoop.orm.CompilationManager.compile(CompilationManager.java:227)
at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:83)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:367)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:453)
at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
17/06/17 18:15:24 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop- student/compile/6bab6efaa3dc60e67a50885b26c1d14b/test.jar
17/06/17 18:15:24 WARN manager.MySQLManager: It looks like you are importing from mysql.
17/06/17 18:15:24 WARN manager.MySQLManager: This transfer can be faster! Use the --direct
17/06/17 18:15:24 WARN manager.MySQLManager: option to exercise a MySQL- specific fast path.
17/06/17 18:15:24 INFO manager.MySQLManager: Setting zero DATETIME behavior to convertToNull (mysql)
17/06/17 18:15:24 INFO mapreduce.ImportJobBase: Beginning import of test
17/06/17 18:15:27 INFO mapred.JobClient: Cleaning up the staging area hdfs://localhost:9000/home/student/Installations/hadoop-1.2.1/data/mapred /staging/student/.staging/job_201706171814_0001
17/06/17 18:15:27 ERROR security.UserGroupInformation: PriviledgedActionException as:student cause:org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory test already exists
17/06/17 18:15:27 ERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory test already exists
at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileO utputFormat.java:137)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:973)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:550)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580)
at org.apache.sqoop.mapreduce.ImportJobBase.runJob(ImportJobBase.java:141)
at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:201)
at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:413)
at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:97)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:380)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:453)
at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
有什么办法可以解决这个问题吗?
最佳答案
如果您打算将 Sqoop 与分布式 Hadoop 集群一起使用,请务必不要使用 URL localhost。您提供的连接字符串将在整个 MapReduce 集群中的 TaskTracker 节点上使用;如果您指定文字名称 localhost,每个节点将连接到不同的数据库(或者更可能根本没有数据库)。 相反,您应该使用所有远程节点都可以看到的数据库主机的完整主机名或 IP 地址。
请访问Sqoop文档Connecting to a Database Server部分了解更多信息。
关于mysql - 使用Sqoop从mysql导入数据到HDFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44556757/
当我们使用以下设置时,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
我是一名优秀的程序员,十分优秀!