0

我已按照此处的说明安装了更新的插件。错误变成了:

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 后,错误变为(连接已验证,我可以从 hive 查询表):

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 。

4

1 回答 1

0

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

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

听起来 Hive 未配置为共享元数据。它在 Derby 中使用烦人的默认配置,因此外部连接无法访问您的 panstats 表。我在今年早些时候看到了这篇关于配置 Hive 的文章。它使用 MySQL 而不是 derby 记录。如果这确实是问题,那么它只是 Hive 配置问题。按照那篇文章将解决 SQuirreL 和 iReport 的问题。

于 2012-07-30T22:22:21.520 回答