sql - logstash 中的数据转换
问题描述
我有一个数据源,一个只读 SQL 服务器,通过组合来自该服务器的表,我正在制作一个日志,我需要将它上传到 Elastic Search。
为此,我对数据源进行了 API 调用,然后在 Logstash 中进行数据转换,然后将其上传到 ES。
我之前在 SQL 中做过几次数据转换。在 SQL 中,我会JOIN几个表并将查询结果插入到日志表中,但是在此设置中我没有 SQL 选项,我需要在 logstash 中进行转换。
我要的是logstash的最佳实践建议。
解决方案
input {
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.38-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost/student?user=root&password="
jdbc_user => "Croos"
parameters => {
}
schedule => "* * * * *"
statement => "SELECT * from subject WHERE id > :sql_last_value"
use_column_value => true
tracking_column => id
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
此链接可能对您有所帮助。
推荐阅读
- typescript - 使用构造函数名称作为返回类型的索引签名
- c++ - 浮动到字符串而不四舍五入
- angular - 如何在角度和弹簧应用程序中隐藏访问令牌?
- react-native - React Native:任务':app:compileDebugJavaWithJavac'的执行失败
- asp.net-identity - IdentityServer4 System.ArgumentNullException:值不能为空。参数名称:尝试刷新令牌时的类型
- sql - SQL: How to select pass rows from student table in case of re-sit exam in postgresql?
- java - 错误:java.lang.SecurityException:签名者信息与同一包中其他类的签名者信息不匹配
- c++ - 如何使用 libpq 库和 C++ 将 NULL 值绑定到准备好的语句?
- swift - UICollectionViewCell 协议不起作用
- c# - 如何模拟httpclient