Pig STORE到MySQL数据库 - ClassNotFoundException:'com.mysql.jdbc.Driver'

时间:2012-10-03 11:50:14

标签: mysql jdbc apache-pig

我正在与Pig合作,我正在尝试将结果存储在MySQL数据库中。基于我在本网站上找到的帮助,我正在使用:

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');

我也在导入jar(目录是正确的): piggybank.jar,mysql-connector-java-5.1.20-bin.jar

但是,当我运行Pig脚本时出现以下错误:

[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 个答案:

答案 0 :(得分:1)

  

尝试将mysql-connector-java添加到PIG_CLASSPATH

谢谢,这正是我需要做的!做REGISTER显然是不够的。