使用 Sqoop 的 HDFS 到 RDBMS - 表创建

Posted

技术标签:

【中文标题】使用 Sqoop 的 HDFS 到 RDBMS - 表创建【英文标题】:HDFS to RDBMS using Sqoop - table creation 【发布时间】:2013-09-18 19:39:13 【问题描述】:

我最初将 HBase 数据导出到 HDFS,生成了一个名为“part-00000”的文件。现在,我想使用 SqoopHDFS 导出到 MYSQL

我尝试运行这个 Sqoop 命令,

**$ bin/sqoop export --connect jdbc:mysql://localhost/test_db --table *bar*  --export-dir /var/hbadoop/hdfsdata/part-0000 --username root --password password -m 1**

它给出了一个错误:

**Error manager.SqlManager: Error executing statement: java.sql.SQLException; Unknown intial character set index '224' received from server. Initial client character set can be forces via the 'characterEncoding' property.
      at com.mysql.jdbc.SQLError.createSQLException(SQlError.java.910)
      at com.mysql.jdbc.Connection.configureClientCharacterSet(Connection.java:2412)
      at ..**

请注意,我没有在 MySQL 中创建了一个目标表 'bar' 到我计划导出 HDFS 数据的位置。我不确定是否必须创建目标 MYSQL 表。

【问题讨论】:

【参考方案1】:

我不得不从 sqoop/lib 目录中删除旧的 mysql-connector-java-5.0.8-bin.jar,我下载了最新的 mysql-connector-java-5.1.28-bin.jar 并将其复制到sqoop/lib 文件夹,现在我看不到“从服务器收到的未知初始字符集索引 '224'”。错误了。

通过搜索该错误,我下载的旧 mysql 驱动程序有一个错误(-http://forums.mysql.com/read.php?39,139534,256214#msg-256214)

【讨论】:

以上是关于使用 Sqoop 的 HDFS 到 RDBMS - 表创建的主要内容,如果未能解决你的问题,请参考以下文章

使用 Sqoop 将 RDBMS 更新到 HDFS

我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?

sqoop

sqoop

sqoop

sqoop