【问题标题】:Sqoop import strange errorsqoop导入奇怪的错误
【发布时间】:2018-02-08 14:47:39
【问题描述】:

我有一个 hive 外部表 n1,其位置设置为 /user/cloudera/n1。我还有一个名为n1 的MySQL 表。现在,当我尝试将 n1 (MySQL) 导入为 n2 (Hive) 时,我收到了这个奇怪的错误 /user/cloudera/n1 already exists

[cloudera@quickstart ~]$ sqoop import --table n1 --connect jdbc:mysql://localhost/retail_db --username root --password cloudera --hive-import --hive-table n2 -m 1

18/02/08 06:34:05 ERROR tool.ImportTool: Import failed: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://quickstart.cloudera:8020/user/cloudera/n1 already exists
    at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146)

【问题讨论】:

标签: cloudera cloudera-cdh sqoop


【解决方案1】:

这并不奇怪,这就是 Sqoop 的工作原理。当您使用 Sqoop 将表导入配置单元时,它将在用户主目录中以表的名称创建一个暂存文件,在您的情况下是 /user/cloudera/n1 这就是问题所在。

您应该移动您的外部表路径,或者您应该使用--targer-dir 在其他目录中导入表,然后在其上创建配置单元表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-06
    • 2014-09-05
    • 2016-09-04
    • 2012-06-01
    • 2021-02-22
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多