【问题标题】:Sqoop import statementSqoop 导入语句
【发布时间】:2017-09-17 18:13:15
【问题描述】:

下面提到的 sqoop 导入语句前几天对我有用,今天同样的语句显示错误。下面是错误和导入语句。

错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'sqoop import

附近使用的正确语法
sqoop import \
--connect jdbc:mysql://localhost/loudacre \
--username training --password training \
--table device \
-- target-dir /loudacre/device
-m 1

【问题讨论】:

    标签: sql hadoop sqoop


    【解决方案1】:

    您在导入命令中缺少where $CONDITIONS'。 where $CONDITIONS' 是强制性的,$CONDITIONS 应该是大写。请进行此更正,然后重试。

    【讨论】:

      【解决方案2】:

      你错过了第四行末尾的“\”:

      你能运行这个并检查一次吗?

      sqoop 导入\ --连接 jdbc:mysql://localhost/loudacre \ --用户名培训--密码培训\ --表设备\ --目标目录/loudacre/设备\ -m 1

      【讨论】:

        【解决方案3】:

        是的,您可能会遇到说 --target-dir /loudacre/device 已经存在的错误。当您第一次运行命令时,因为在 hdfs 中没有定义目标目录,脚本运行正常,但第二次因为目标目录已经在 hdfs 目录中可用,它会抛出错误,说目录已经存在。

        解决此错误的解决方案: 1. 提供另一个新目录或删除现有目录并再次尝试脚本。 2.也可以在sqoop append模式或者overwride模式下导入mysql数据。请参阅以下链接以供参考: Using sqoop import, How to append rows into existing hive table?

        如果有效,请告诉我。

        【讨论】:

          【解决方案4】:

          错误解决了伙计们。结果是,当您将命令从记事本复制粘贴到终端时,“更改并导致错误。我们需要在终端中明确写入”。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-08-07
            • 2017-02-03
            • 1970-01-01
            • 2015-12-13
            • 1970-01-01
            • 2018-06-06
            • 2018-02-12
            • 1970-01-01
            相关资源
            最近更新 更多