使用 Sqoop 的 HDFS 到 RDBMS - 表创建
Posted
技术标签:
【中文标题】使用 Sqoop 的 HDFS 到 RDBMS - 表创建【英文标题】:HDFS to RDBMS using Sqoop - table creation 【发布时间】:2013-09-18 19:39:13 【问题描述】:我最初将 HBase 数据导出到 HDFS,生成了一个名为“part-00000
”的文件。现在,我想使用 Sqoop 将 HDFS 导出到 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 - 表创建的主要内容,如果未能解决你的问题,请参考以下文章