【问题标题】:sqoop export from hive table created by sqoop import从由 sqoop 导入创建的 hive 表中导出 sqoop
【发布时间】:2012-11-15 06:08:21
【问题描述】:

我已经使用 Cloudera CDH4.1 上的 SQOOP 成功地将一个简单的 2 列 SQL Server 数据导入 HIVE。 - ID(整数) - 描述 (varchar(50))

当我尝试让同一个 HIVE 表返回 SQL Server 时,它会将两列合并在一起,因此会创建一个 NumberFormatException。

我已经尝试了 --fields-terminated by \t --lines-terminated-by \n 但这没有任何区别。

我还尝试导出 Cloudera 提供的 sample_08 Hive 表,但得到 NoSuchElement 异常。希望它能给出它认为不存在的元素的线索!

我已确保表结构和字段名称在两边都相同,包括大小写和下划线。

我可以导出一个单列表,但对于如何解决这个问题我感到非常困惑。

如有任何帮助,我们将不胜感激。

【问题讨论】:

  • 我发现 Microsoft 安装的 SQOOP 连接器没有正确设置 manager.d 中的配置文件。 /usr/lib/sqoop/conf/managers.d/mssqoop-sqlserver 应该包含 sqljdbc4.jar 文件的路径,但默认情况下会省略它。该文件应包含以下内容:- com.microsoft.sqoop.MSSQLServerManagerFactory/usr/lib/sqoop/lib/sqljdbc4.jar 这只会让我看到下一个错误,即 java.lang.NoSuchMethodError

标签: sql-server hadoop export sqoop


【解决方案1】:

参数 --filds-terminated-by 和 --lines-terminated-by 仅在“导入”操作期间使用。您需要使用参数 --input-fields-terminated-by 和 --input-lines-terminated-by 在“导出”情况下执行相同操作。

您是否介意共享整个异常堆栈跟踪以及可能触发您的问题的数据示例集?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 2017-02-03
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2016-05-10
    • 2018-09-17
    相关资源
    最近更新 更多