/ / как да обработим по-добре огромните исторически данни в темата на kafka, използвайки spark streaming - apache-kafka, spark-streaming

как по-добре да обработваме огромните данни от историята в темата на кафка, използвайки искра стрийминг - apache-kafka, искра

Изпитвам проблем, който трябва да започне да се превърне в искрена струна на наистина голяма тема за кафка, има около 150 милиона данни в тази тема и темата се разраства бързо.

Когато се опитах да стартирам искри и да четаданни от началото на тази тема, като зададете параметър kafka ("auto.offset.reset" -> "най-малък"), той винаги се опитва да завърши всичките 150 милиона обработка на данни в първия пакет и да върне "java.lang.OutOfMemoryError: Превишен е лимитът на GC за режима на натоварване. Въпреки това не е много изчисление в тази ап искра поток все пак.

Мога ли да имам начин да обработя историческите данни в тази тема в първите няколко партиди, но не всички в първата партида?

Букет от благодарности предварително! Джеймс

Отговори:

1 за отговор № 1

Можете да контролирате скоростта на четене на искровата кафка при следваща конфигурация на искри spark.streaming.kafka.maxRatePerPartition .

Можете да конфигурирате това, като посочите колко документа искате да обработите за всяка партида.

sparkConf.set("spark.streaming.kafka.maxRatePerPartition","<docs-count>")

Над процеса на конфигуриране <docs-count>*<batch_interval> записи на партида.

Можете да намерите повече информация за по-горе config тук.