我正在与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数据库中,我也很乐意听到。
答案 0 :(得分:1)
尝试将mysql-connector-java添加到PIG_CLASSPATH
谢谢,这正是我需要做的!做REGISTER显然是不够的。