2013-07-09 94 views
1

我正在尝试使用sqoop将Hbase表导出到mysql表。如何将Hbase表导出到MySql表

以下是我的查询:

> sqoop-export 
> --connect jdbc:mysql://mysqlserver_ip:3306/mysqldb 
> --username user 
> --password pwd 
> --table mysqltbl 
> --update-key empid 
> --export-dir hostname:60030/hbase/tblfromhbase 

其中hostname:60030是我的HBase的根目录路径和端口。

错误来我都提前

> 1) ERROR security.UserGroupInformation: PriviledgedActionException 
> as:hbase (auth:SIMPLE) cause:java.io.IOException:Failed on local 
> exception: com.google.protobuf.InvalidProtocolBufferException:Protocol 
> message end-group tag did not match expected tag.; Host Details : 
> local host is: "hostname/ip";destination host is: "hostname":60030; 
> 
> 2) ERROR tool.ExportTool: Encountered IOException running export job: 
> java.io.IOException: Failed on local exception: 
> com.google.protobuf.InvalidProtocolBufferException:Protocol message 
> end-group tag did not match expected tag.; Host Details :local host 
> is: "hostname/ip"; destination host is: "hostname":60030; 

感谢。

+0

是.....和?!?!??你有什么问题** ???你有没有尝试过** **自己**? –

+0

我正在尝试以下查询: - sqoop-export --connect jdbc:mysql:// mysqlserver_ip:3306/mysqldb --username user --password pwd --table mysqltbl --update-key empid --export-dir hostname: 60030/hbase/tblfromhbase –

+0

请**不要**将代码示例或示例数据放入注释中 - 因为您无法对其进行格式化,所以**非常难读取** ....取而代之:**更新**您的通过编辑提供附加信息来解决问题!谢谢。 –

回答

0

使用sqoop将mysql表导出到hbase非常方便,但是将hbase表导出到mysql不是。这是一种间接的方式。将hbase表导出到配置单元,创建配置单元表,然后转储到sql文件,并导入到mysql。检查出来:http://blog.csdn.net/zreodown/article/details/8850172

1

恐怕Sqoop目前不支持直接从HBase出口。您可以通过首先使用mapreduce将数据从HDFS导出到普通文件并随后调用Sqoop将它们导出到MySQL来克服此问题。

您可以在问题12911042中找到附加信息。