iReport设计器4.5.1 /4.6.0无法与Hive交互

时间:2012-07-29 12:46:11

标签: jasper-reports ireport hive

我已按照here的说明操作并安装了更新的插件。错误已成为:

Query error

Message: net.sf.jasperreports.engine.JRException: 
Error executing SQL statement for : null Level: SEVERE Stack Trace: 
Error executing SQL statement for : null com.jaspersoft.hadoop.hive.HiveFieldsProvider.getFields(HiveFieldsProvider.java:113)
com.jaspersoft.ireport.hadoop.hive.designer.HiveFieldsProvider.getFields(HiveFieldsProvider.java:32)
com.jaspersoft.ireport.hadoop.hive.connection.HiveConnection.readFields(HiveConnection.java:154)
com.jaspersoft.ireport.designer.wizards.ConnectionSelectionWizardPanel.validate(ConnectionSelectionWizardPanel.java:146)
org.openide.WizardDescriptor$7.run(WizardDescriptor.java:1357)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

降级到4.5.0后,错误变为(连接已验证,我可以从配置单元查询表):

Query error

Message: net.sf.jasperreports.engine.JRException: Query returned non-zero code: 10, cause: 
FAILED: Error in semantic analysis: Line 1:14 Table not found 'panstats' Level: 
SEVERE Stack Trace: Query returned non-zero code: 10, cause: 
FAILED: Error in semantic analysis: Line 1:14 Table not found 'panstats'
com.jaspersoft.hadoop.hive.HiveFieldsProvider.getFields(HiveFieldsProvider.java:260)
com.jaspersoft.ireport.hadoop.hive.designer.HiveFieldsProvider.getFields(HiveFieldsProvider.java:32)
com.jaspersoft.ireport.hadoop.hive.connection.HiveConnection.readFields(HiveConnection.java:146)
com.jaspersoft.ireport.designer.wizards.ConnectionSelectionWizardPanel.validate(ConnectionSelectionWizardPanel.java:146)
org.openide.WizardDescriptor$7.run(WizardDescriptor.java:1357)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

我在 OS X Lion 10.7.4上使用 Hive 0.8.1

1 个答案:

答案 0 :(得分:0)

您的查询是否像select * from panstats一样简单?我怀疑查询不是问题,但你首先要确认。

您可以尝试从SQuirreL SQL等工具查询该表。如果该工具也无法获取数据,那么它可能是一个Hive问题。如果它可以......那么它可能是iReport或Hive插件的问题。

听起来Hive未配置为共享元数据。它使用令人烦恼的默认配置与Derby,因此外部连接无法访问您的panstats表。今年早些时候,我遇到了this article关于配置Hive的问题。它使用MySQL而不是derby进行文档记录。如果这确实是问题,那么它只是一个Hive配置问题。在该文章之后将解决SQuirreL和iReport的问题。