Solr上的数据导入失败,带有SQLException:单行子查询返回多行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr上的数据导入失败,带有SQLException:单行子查询返回多行相关的知识,希望对你有一定的参考价值。

当我尝试在Solr中完全导入时获得以下异常:

SEVERE:getNext()查询'SELECT * from my_app.my_solr_app_vw'失败:org.apache.solr.handler.dataimport.DataImportHandlerException:java.sql.SQLException:ORA-01427:单行子查询返回多行

    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:63)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.hasnext(JdbcDataSource.java:338)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.access$600(JdbcDataSource.java:227)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator$1.hasNext(JdbcDataSource.java:261)
    at org.apache.solr.handler.dataimport.EntityProcessorBase.getNext(EntityProcessorBase.java:116)
    at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:75)
    at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:243)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:472)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:411)
    at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:326)
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:234)
    at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:382)
    at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:448)
    at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:429)

    Caused by: java.sql.SQLException: ORA-01427: single-row subquery returns more than one row

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
答案

看起来像是您的查询中的错误。就像是

select ... from ... where field = (select ... from ... where ...)

但是子查询返回了多行。

以上是关于Solr上的数据导入失败,带有SQLException:单行子查询返回多行的主要内容,如果未能解决你的问题,请参考以下文章

带有 tez 的 aws emr 上的 Pig 脚本偶尔会因 OutOfMemoryException 而失败

solr 有几种导入数据的方式

solr搜索之mysql导入数据到solr

Solr/Tika 提取失败 NoSuchMethodError、Solr 3.6、Tika 1.0、Jboss 5.0.1

solr 学习之数据导入

Solr数据库导入