KafkaIO Connector / Apache Beam Transform "go" SDK доступны? - PullRequest
0 голосов
/ 25 января 2020

Я работаю над созданием конвейера приема данных с использованием Apache Beam "go" SDK.

Мой конвейер состоит в том, чтобы использовать данные из очереди Kafka и сохранять их в Google Cloud Bigtable (и / или другому Kafka topi c).

До сих пор я не смог найти Kafka IO Connector (также известный как Apache I / O Transform), записанный в «go» ( Однако я смог найти java версию.

Вот ссылка на поддерживаемые Apache Преобразования ввода-вывода Beam: https://beam.apache.org/documentation/io/built-in/

Я ищу "go" эквивалент следующего Java кода:

    pipeline.apply("kafka_deserialization", KafkaIO.<String, String>read()
		.withBootstrapServers(KAFKA_BROKER)
		.withTopic(KAFKA_TOPIC)
		.withConsumerConfigUpdates(CONSUMER_CONFIG)
		.withKeyDeserializer(StringDeserializer.class)
		.withValueDeserializer(StringDeserializer.class))

Есть ли у вас какая-либо информация о наличии SDK / библиотеки KafkaIO Connector "go"?

Любая помощь или информация будет принята с благодарностью.

Спасибо.

1 Ответ

0 голосов
/ 28 января 2020

@ cricket_007 Если вам тоже интересно, я получил следующее обновление от Роберта Бёрка (rebo@google.com), который входит в команду Apache Beam:

There presently isn't a Kafka transform for Go. 

The Go SDK is still experimental, largely due to scalable IO support, which is why the Go SDK isn't represented in the built-in io page.

There's presently no way for an SDK user to write a Streaming source in the Go SDK, since there's no mechanism for a DoFn to "self terminate" bundles, such as to allow for scalability and windowing from streaming sources. 

However, SplittableDoFns are on their way, and will eventually be the solution for writing these.

At present, the Beam Go SDK IOs haven't been tested and vetted for production use. Until the initial SplittableDoFn support is added to the Go SDK, Batch transforms cannot split, and can't scale beyond a single worker thread. This batch version should land in the next few months, and the streaming version land a few months after that, after which a Kafka IO can be developed. 

I wish I had better news for you, but I can say progress is being made.

Robert Burke
...