如何关闭对 logstash 输出中结果集中有多少行的预检查



我正在尝试关闭预选logstash以确定行数,但是ExaSol DB不支持任何聚合中的任何限制,有什么方法可以在logstash中关闭它吗?

input {
  jdbc {
    jdbc_driver_library => "/opt/jdbc/exajdbc6.0.15.jar"
    jdbc_driver_class => "com.exasol.jdbc.EXADriver"
    jdbc_user => "am_mon"
    jdbc_password => "XXXXX"
    jdbc_connection_string => "jdbc:exa:xxx.xx.xx.xx..xx:xxxx"
    jdbc_default_timezone => "Europe/Berlin"
#    schedule => "05 7 * * *"
    statement => "select local_date, LOCAL_HOUR, events from DWH_MON.V.M_EVENTS"
  }
}
日志

存储错误日志:

[

2019-06-07T12:28:00,834][错误][logstash.inputs.jdbc ] Java::JavaSql::SQLException:聚合选择中不允许限制 [第 1 行,第 127 列] (会话:1635677142479452406(:从(选择DWH_MON中的local_date、LOCAL_HOUR事件中选择 COUNT(*( 作为"计数"。V.M_EVENTS限制 1( 作为"T1"限制 1

[

2019-06-07T12:28:00,838][警告][logstash.inputs.jdbc ] 执行 JDBC 查询时异常 {:exception=>#}

由于 logstash 想要查看预期有多少行,因此它使用限制 1,但 exasol 无法处理聚合的任何限制。

我猜这是LogStash的问题。LIMIT 1部分是不必要的,首先不应该存在。

您可以尝试使用 SQL 预处理器来尝试识别此类查询并手动删除LIMIT。但也许修补 LogStash 本身更容易。

相关内容

  • 没有找到相关文章

最新更新