我正在尝试为我的S3接收器连接器设置一个自定义时区偏移量。
我想要实现的是,每天早上4:00,我想要开始新的一天。
示例:
目前的日期和时间是:协调世界时06-09-2022 01:00。
Kafka S3接收器连接器需要将数据转储到:S3
目前的日期和时间是:协调世界时06-09-2022 :00
Kafka S3接收器连接器需要将数据转储到新文件夹(新的一天)S3中
curl --location --request POST 'localhost:8083/connectors' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "sink-s3-test",
"config": {
"connector.class": "io.confluent.connect.s3.S3SinkConnector",
"tasks.max": "1",
"topics": "test_topic",
"s3.region": "us-east-1",
"s3.bucket.name": "my-bucket",
"aws.accessKeyId": "mock-key",
"aws.secretKey": "mock-key",
"data.format": "AVRO",
"format.class": "io.confluent.connect.s3.format.json.JsonFormat",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter": "org.apache.kafka.connect.storage.StringConverter",
"key.converter.schema.registry.url": "http://schema-registry:8081",
"value.converter.schema.registry.url": "http://schema-registry:8081",
"flush.size": 1,
"storage.class": "io.confluent.connect.s3.storage.S3Storage",
"s3.proxy.url": "http://localstack:4572",
"partitioner.class": "io.confluent.connect.storage.partitioner.TimeBasedPartitioner",
"locale": "en-US",
"timezone": "'[+]18:00'",
"timestamp.extractor": "Wallclock"
}
}'
发布于 2022-10-18 04:13:58
时区必须是Java实现,而不是数字偏移。这些都是JVM特有的,并且没有+18:00
偏移量,只有UTC-6
,例如"Etc/GMT+6"
。
另一种选择是实现一个自定义转换,它转发时间戳+20小时,因为0400将成为第二天的0000,而18小时将是同一天的2200小时。
https://stackoverflow.com/questions/73119220
复制相似问题