Можно ли использовать потоки Kinesis в качестве источника данных для структурированной потоковой передачи Spark? Я не могу найти ни одного доступного разъема.
Источник данных Spark Structured Streaming Kinesis
Ответы (1)
У Qubole есть библиотека kinesis-sql именно для этого.
https://github.com/qubole/kinesis-sql
Затем вы можете использовать источник, аналогичный любому другому источнику структурированной потоковой передачи Spark:
val source = spark
.readStream
.format("kinesis")
.option("streamName", "spark-source-stream")
.option("endpointUrl", "https://kinesis.us-east-1.amazonaws.com")
.option("awsAccessKeyId", [YOUR_AWS_ACCESS_KEY_ID])
.option("awsSecretKey", [YOUR_AWS_SECRET_KEY])
.option("startingPosition", "TRIM_HORIZON")
.load
person
bp2010
schedule
28.08.2018
Это все еще не в производстве, но вы можете его использовать. Также я бы посоветовал использовать поток кинезиса через KCL, как только вы получите тип Dstreams [ArrayByte], преобразовать его в кадр данных и загрузить во временное представление или таблицу. Затем вы можете легко применять sql-запросы поверх этой таблицы.
- person Aman Mundra; 11.01.2019
@AmanMundra вы успешно пробовали подход kcl? У нас возникают проблемы с кавычкой, поскольку она постоянно записывает пустые файлы
- person Vish; 22.02.2019