簡體   English   中英

如何使 confluent sftp 連接器重復處理 csv 文件

[英]how to make confluent sftp connector repeatedly process a csv file

再會,

我正在嘗試點擊 Confluent sftp 連接器的鏈接: https://docs.confluent.io/kafka-connect-sftp/current/source-connector/index.html

下面是我的sftp.json,基本上沒什么區別,只是填了本地信息:

{
  "name": "CsvSFTP",
  "config": {
    "tasks.max": "1",
    "connector.class": "io.confluent.connect.sftp.SftpCsvSourceConnector",
    "cleanup.policy":"MOVE",
    "behavior.on.error":"IGNORE",
    "input.path": "/home/meow/Workspace/confluentPlatform/confluent-7.0.1",
    "error.path": "/home/meow/Workspace/confluentPlatform/confluent-7.0.1/error",
    "finished.path": "/home/meow/Workspace/confluentPlatform/confluent-7.0.1/finished",
    "input.file.pattern": "csv-sftp-source.csv",
    "sftp.username":"meow",
    "sftp.password":"password",
    "sftp.host":"localhost",
    "sftp.port":"22",
    "kafka.topic": "sftp-testing-topic",
    "csv.first.row.as.header": "true",
    "schema.generation.enabled": "true"
  }
}

在此之后,我運行以下命令來運行連接器:

confluent local services connect connector load CsvSFTP --config sftp.json

接下來,我將相同的 csv 文件上傳到輸入文件夾。 是的,我看到文件消失並移動到finished.path

我使用以下消費者命令來檢查推送到主題的數據:

[meow@localhost bin]$ ./kafka-avro-console-consumer     --bootstrap-server localhost:9092     --property schema.registry.url=http://localhost:8081     --topic sftp-testing-topic2     --from-beginning
{"id":{"string":"1"},"first_name":{"string":"Salmon"},"last_name":{"string":"Baitman"},"email":{"string":"sbaitman0@feedburner.com"},"gender":{"string":"Male"},"ip_address":{"string":"120.181.75.98"},"last_login":{"string":"2015-03-01T06:01:15Z"},"account_balance":{"string":"17462.66"},"country":{"string":"IT"},"favorite_color":{"string":"#f09bc0"}}
{"id":{"string":"2"},"first_name":{"string":"Debby"},"last_name":{"string":"Brea"},"email":{"string":"dbrea1@icio.us"},"gender":{"string":"Female"},"ip_address":{"string":"153.239.187.49"},"last_login":{"string":"2018-10-21T12:27:12Z"},"account_balance":{"string":"14693.49"},"country":{"string":"CZ"},"favorite_color":{"string":"#73893a"}}

到目前為止一切順利,現在一切正常。

在此之后,我使用回 csv 文件,並將名字從“Salmon”編輯為“Salmon2”。 然后我再次上傳csv文件,但此時文件沒有被處理。 當我檢查連接器狀態時,它正在運行,即使我檢查 connect.log,我也只看到它在打印,沒有產生任何記錄:

[2022-03-16 17:14:22,129] INFO [CsvSFTP|task-0|offsets] WorkerSourceTask{id=CsvSFTP2-0} Either no records were produced by the task since the last offset commit, or every record has been filtered out by a transformation or dropped due to transformation or conversion errors. (org.apache.kafka.connect.runtime.WorkerSourceTask:503)

然后,我卸載連接器並再次加載,我看到文件再次消失並移動到finished.path 我預計消費者會打印另外 2 行記錄,其中 1 行包含我對名字的更改,即“Salmon2”,但事實並非如此,消費者只是保持不變。

我可以知道我做錯了嗎? 或者這是預期的結果?

這聽起來像是預期的行為。 源連接器(大部分)在偏移量主題中維護 state。 如果它處理了文件,那么它會跟蹤它不應該再做一次,如果連接器曾經重新啟動或以其他方式重新加載。

您需要修改它,或更改連接器的名稱,使其成為“重新開始”的唯一名稱

暫無
暫無

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

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