2013-04-22 46 views
2

我試圖從MySQL導入數據使用sqoop到HBase的:問題與MySQL的sqoop進口HBase的

sqoop import --connect jdbc:mysql://<hostname>:3306/test --username USERNAME -P --table testtable --direct --hbase-table testtable --column-family info --hbase-row-key id --hbase-create-table 

過程運行順暢,沒有任何錯誤,但數據進入HDFS和到hbase。

這裏是我的設置:

HBase的和Hadoop安裝在分佈式模式在我的三個服務器集羣。 Namenode和HBase Master是一個服務器。 Datanodes和Region服務器位於另外兩臺服務器中。 Sqoop僅安裝在NameNode服務器中。 我使用Hadoop版本0.20.2-cdh3u3,hbase版本0.90.6-cdh3u4和sqoop版本1.3.0-cdh3u3。

任何建議,我做錯了嗎?

回答

4

Sqoop的直接連接器通常不支持HBase,MySQL直接連接器絕對是這種情況。如果需要將數據導入HBase,則應該刪除--direct選項。

+0

非常感謝亞雷克,它解決了問題的例子。 表正在HBase中創建,但我得到以下錯誤: '13/04/23 11:53:23信息mapred.JobClient:正在運行的作業:job_201304231148_0003 13/04/23 11:53:24 INFO mapred.JobClient:地圖0%減少0% 13/04/23 11時53分四十零秒INFO mapred.JobClient:任務標識:attempt_201304231148_0003_m_000000_0,狀態:失敗 錯誤:TestTable的:不支持MAJOR.MINOR版本51.0 ' 任何幫助將不勝感激。 – VikasG 2013-04-23 06:53:52

+1

得到它的工作...需要在hadoop-env.sh文件中正確設置JAVA_HOME路徑 – VikasG 2013-04-23 07:48:00