简体   繁体   English

将Nutch与MySQL一起使用时发生异常

[英]Exception while using Nutch with MySQL

I followed the setup from Setting up Nutch 2.1 with MySQL and i ran 我按照通过MySQL设置Nutch 2.1中的设置进行操作

bin/crawl urls -depth 1 -topN 2

but it throughs an IOException shown as below 但是它通过如下所示的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

This is how the Hadoop.log looks like 这就是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

Also nothing is entered into my SQL Database. 也没有任何内容输入到我的SQL数据库中。

Is this error connect to My table CREATION or something else 此错误是否连接到我的表CREATION或其他

I am using nutch 2.2.1 我正在使用坚果2.2.1

Yes, the stacktrace says clearly that there is a syntax in your MySQL query for table creation. 是的,stacktrace清楚地表明,MySQL查询中存在用于创建表的语法。

Caused by: java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; 由以下原因引起:java.io.IOException:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误。 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 检查与您的MySQL服务器版本相对应的手册,以找到在'-depth_webpage(id VARCHAR(767)PRIMARY KEY,headers BLOB,text VARCHAR(32000),sta')附近使用的正确语法

Please make sure that the query executes successfully in standalone from MySQL workbench or phpmyadmin 请确保查询可以独立于MySQL工作台或phpmyadmin成功执行

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM