Java 将Nutch与MySQL一起使用时出现异常

Java 将Nutch与MySQL一起使用时出现异常,java,mysql,nutch,Java,Mysql,Nutch,我按照中的设置运行 bin/crawl urls -depth 1 -topN 2 但它通过如下所示的IOException InjectorJob: starting at 2014-03-15 12:22:10 InjectorJob: Injecting urlDir: urls InjectorJob: org.apache.gora.util.GoraException: java.io.IOException:om.mysql.jdbc.exceptions.jdbc4.MySQ

我按照中的设置运行

bin/crawl urls -depth 1 -topN 2
但它通过如下所示的IOException

InjectorJob: starting at 2014-03-15 12:22:10 
InjectorJob: Injecting urlDir: urls
InjectorJob: org.apache.gora.util.GoraException: java.io.IOException:om.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-depth_webpage (id VARCHAR(767) PRIMARY KEY,headers BLOB,text VARCHAR(32000),sta' at line 1
这就是Hadoop.log的样子

2014-03-15 12:25:44,275 INFO  crawl.InjectorJob - InjectorJob: starting at 2014-03-15 12:25:44
2014-03-15 12:25:44,275 INFO  crawl.InjectorJob - InjectorJob: Injecting urlDir: urls
2014-03-15 12:25:45,467 INFO  store.SqlStore - creating schema: -depth_webpage
2014-03-15 12:25:45,517 ERROR crawl.InjectorJob - InjectorJob: org.apache.gora.util.GoraException: java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-depth_webpage (id VARCHAR(767) PRIMARY KEY,headers BLOB,text VARCHAR(32000),sta' at line 1
    at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:167)
    at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:135)
    at org.apache.nutch.storage.StorageUtils.createWebStore(StorageUtils.java:75)
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:221)
    at org.apache.nutch.crawl.InjectorJob.inject(InjectorJob.java:251)
    at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:273)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:282)
Caused by: java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-depth_webpage (id VARCHAR(767) PRIMARY KEY,headers BLOB,text VARCHAR(32000),sta' at line 1
    at org.apache.gora.sql.store.SqlStore.createSchema(SqlStore.java:226)
    at org.apache.gora.sql.store.SqlStore.initialize(SqlStore.java:172)
    at org.apache.gora.store.DataStoreFactory.initializeDataStore(DataStoreFactory.java:102)
    at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:161)
    ... 7 more
我的SQL数据库中也没有输入任何内容

此错误是连接到我的表创建还是其他错误


我使用的是nutch 2.2.1是的,stacktrace清楚地表明,MySQL查询中有一个用于创建表的语法

原因:java.io.IOException:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以了解在第1行使用近'-depth_网页(id VARCHAR(767)主键、headers BLOB、text VARCHAR(32000)、sta'的正确语法


请确保查询从MySQL workbench或phpmyadmin在单机版中成功执行

是的,您是对的。数据库格式已从Nutch 2.1更改为Nutch 2.2。相应更改后,我可以正确更新数据库,没有任何错误。干杯,为什么投票否决了该问题。在我搜索(研究)之后关于nutch从2.1到2.2的变化,我可以得到这个。无论如何,感谢keerthi的澄清。很高兴,这有帮助。我不确定是否有否决票。当他们否决时发表评论总是一个好的做法。但是,有些用户不这样做。