2013-07-09 40 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中找到附加信息。