【问题标题】:Data ingestion in elasticsearch with database having large number of tables数据库中包含大量表的弹性搜索中的数据摄取
【发布时间】:2020-01-07 09:02:37
【问题描述】:
input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
    jdbc_user => "mysql"
    parameters => { "favorite_artist" => "Beethoven" }
    schedule => "* * * * *"
    statement => "SELECT * from songs where artist = :favorite_artist"
  }
}

在上面的logstash配置文件中如何摄取数据?
当我必须选择多个表时该怎么办?

【问题讨论】:

  • 你可以加入或联合/联合所有从mysql获取数据以摄取数据

标签: mysql elasticsearch jdbc logstash


【解决方案1】:

将根据“选择语句查询”获取数据。如果你想 有来自多个表的数据,那么你可以有结合所有的连接查询 表和查询的相关输出将被摄取到 ES。这一切都取决于 在您的特定用例上。这是粘贴的一些示例供您参考。

input {
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
jdbc_user => "mysql"
parameters => { "favorite_artist" => "Beethoven" }
schedule => "* * * * *"
statement => "SELECT * FROM songs INNER JOIN song_folder using song_number ORDER BY 
song_title;"
}
}

output{
elasticsearch{
hosts=>"http://xx:XX:XX:XX:9200"
index=>"song"
document_type=>"songname"
document_id=>"song_title"
}
stdout{codec=>rubydebug}
}


Please let me know , if you have any further queries.

【讨论】:

    猜你喜欢
    • 2018-10-17
    • 2019-01-08
    • 1970-01-01
    • 2023-02-06
    • 2023-03-31
    • 2013-03-03
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多