Я написал простое искрообразующее приложение, которое в основном считывает поток событий из Кафки и сохраняет эти события в Кассандре в таблице, позволяя эффективные запросы по этим данным. Основная цель этого задания - обрабатывать текущие данные в реальном времени. Но есть также исторические события, хранящиеся в hdf.Приостановка/дросселирование искры/искрообразование
Я хочу повторно использовать РД обработки коды (часть потоковой работы) в исторической работе, и мне интересно, что является лучшим решением для чтения исторических данных в соответствии со следующими требованиями:
- Historical события хранятся в ежедневных свернутых файлах в hdfs (я хочу запустить задание в ряде исторических файлов)
- Было бы неплохо иметь возможность приостанавливать работу (вставки в cassandra являются идемпотентными, поэтому мне нужно -очередная обработка)
- Я хочу иметь механизм дросселирования, позволяющий определить максимальное число бер событий, которые могут быть обработаны (в определенный период времени: например, каждый 1мин)
Я рассмотрел два подхода до сих пор:
- Batch Спарк работа
- Ad1: Есть лучший способ определить RDD на основе диапазона файлов, чем создание одного RDD для каждого файла, а затем объединить их?
- Ad2,3: Возможно ли это?
- Спарк Streaming работа
- Ad1: Как эффективно определить диапазон входных файлов? Sth лучше, чем использовать
ssc.textFileStream(inputDir)
и копировать файлы, которые я хочу обработать в этом каталоге? - Ad2: Я предполагаю, что установка каталога контрольной точки - это то, что я ищу.
- Ad3 Я планирую использовать
spark.streaming.receiver.maxRate
свойству
- Ad1: Как эффективно определить диапазон входных файлов? Sth лучше, чем использовать
Правильно ли я, что регулярная партия искра не может удовлетворить мои требования? Я жду вашего совета, чтобы исправить потоковое решение.
Благодарим вас за ответ. Вы имеете в виду, что я должен указать несколько текстовых файлов следующим образом: sc.textFile ("hdfs: // path/file1, hdfs: // path/file2")? – tomek
для тех, кто идет здесь, приостановка с закрытием sc может быть не очень хорошей идеей из-за этого: https://issues.apache.org/jira/browse/SPARK-13198 – XioRcaL