2012-10-03 52 views
0

我正在使用Pig,我試圖將結果存儲在MySQL數據庫中。基於幫助,我已經在這個網站上發現,我使用的是:豬存儲到MySQL數據庫 - ClassNotFoundException:'com.mysql.jdbc.Driver'

STORE final_data INTO '$dbTable' USING org.apache.pig.piggybank.storage.DBStorage('com.mysql.jdbc.Driver','jdbc:mysql://$host:$port/$db','$dbUser','$dbPass','INSERT INTO $dbTable'); 

我還導入罐(目錄是正確的): piggybank.jar,使用mysql-connector-java的5.1 .20 bin.jar

不過,我收到以下錯誤,當我跑我的豬腳本:

[MainThread] ERROR org.apache.pig.piggybank.storage.DBStorage - can't 
load DB driver:com.mysql.djbc.Driver 

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 


[MainThread] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2999: 
Unexpected internal error. could not instantiate 
'org.apache.pig.piggybank.storage.DBStorage' with arguments 
'[com.mysql.jdbc.Driver, jdbc:mysql://x.xxx.xxx.xxx:xxxx/database, 
username, password, INSERT INTO myTable]' 

有誰看到代碼中的錯誤?或者,也許我錯過了一個罐子?如果您有關於如何將Pig數據存儲在MySQL數據庫中的其他建議,我也很樂意聽到這一點。

+1

嘗試使用mysql-connector-java的添加到'PIG_CLASSPATH' –

回答

1

嘗試使用mysql-connector-java的添加到PIG_CLASSPATH

感謝,這正是我所需要的!做註冊顯然是不夠的。

+0

但添加到classpath之後我仍然得到同樣的錯誤 'ERROR org.apache.pig.piggybank.storage.DBStorage - 不能 加載數據庫驅動程序:com.mysql.jdbc.Driver java.lang.ClassNotFoundException:com.mysql.jdbc.Driver' –