簡體   English   中英

Kafka/questDB JDBC 接收器連接器:未使用“topics.regex”創建的表

[英]Kafka/questDB JDBC Sink Connector: tables not created using "topics.regex"

我使用“confluentinc/kafka-connect-jdbc:10.2.6”作為我的 JDBC 連接器將 Kafka 主題傳輸到我的 questDB 中。

當我提供明確的主題名稱時,它按預期工作。 但是,當我使用基於正則表達式的主題名稱時,它不起作用,我的 questDB 數據庫中沒有創建表。

我的 JDBC 設置中缺少什么?

謝謝!

顯式版本(工作):

{
  "name": "jdbc_sink_ftx",
  "config": {
    "connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
    "topics": "trades-FTX-ETH-USD-PERP, trades-FTX-FTM-USD-PERP",
    "table.name.format": "${topic}",
    "connection.url": "jdbc:postgresql://questdb:8812/qdb?useSSL=false",
    "connection.user": "admin",
    "connection.password": "quest",
    "auto.create": "true",
    "insert.mode": "insert",
    "dialect.name": "PostgreSqlDatabaseDialect"
  }
}

正則表達式版本(不工作):

{
  "name": "jdbc_sink_ftx_regex",
  "config": {
    "connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
    "topics.regex": "FTX",
    "table.name.format": "${topic}",
    "connection.url": "jdbc:postgresql://questdb:8812/qdb?useSSL=false",
    "connection.user": "admin",
    "connection.password": "quest",
    "auto.create": "true",
    "insert.mode": "insert",
    "dialect.name": "PostgreSqlDatabaseDialect"
  }
}

最好檢查 QuestDB 日志。 在這種情況下,搜索' E '應顯示通常包括描述和操作系統錯誤代碼的錯誤。 Kafka 連接器中的主題名稱用作表名稱。 QuestDB 使用表名作為磁盤上的目錄並出於安全目的對其進行驗證。 '.'、'/' 和 '' 不允許在表名中使用字符。 特定的操作系統也可以對文件名應用額外的限制。

不過最好檢查 QuestDB 日志。

正則表達式需要與完整的主題名稱匹配,如下所示:

"topics.regex": "trades-FTX-.*"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM