我有一个包含大量记录的表。有一个列定义记录的类型。我想在该列中收集具有特定值的记录。种类:
Select * FROM myVeryOwnTable WHERE type = "VERY_IMPORTANT_TYPE"
我注意到,当我选择增量(+ timestamp)模式时,不能在自定义查询中使用WHERE
子句,否则,如果我自己进行过滤,则需要小心。
我想要实现的背景是,我使用Logstash将某些类型的数据从MySQL传输到ES。通过使用可以包含where子句的查询,可以轻松实现这一点。但是,使用Kafka,在DB中插入新行后,我可以更快(几乎立即)传输数据。
感谢您的任何提示或建议。
感谢@wardziniak,我能够进行设置。
query=select * from (select * from myVeryOwnTable p where type = 'VERY_IMPORTANT_TYPE') p
topic.prefix=test-mysql-jdbc-
incrementing.column.name=id
但是,我期待一个主题test-mysql-jdbc-myVeryOwnTable
,所以我已经为此注册了我的消费者。但是,由于跳过了使用上面显示的查询的表名,因此我的主题的命名与上面定义的前缀完全相同。因此,我刚刚更新了属性topic.prefix=test-mysql-jdbc-myVeryOwnTable
,它似乎运行良好。
答案 0 :(得分:1)
您可以在Jdbc源连接器的fun String.swapCase() = map {
when {
it.isUpperCase() -> it.toLowerCase()
it.isLowerCase() -> it.toUpperCase()
else -> it
}
}.joinToString("")
println("HEllo WoRLd".swapCase()) // heLLO wOrlD
属性中使用子查询。
示例JDBC Source Connector配置:
query