Я разрабатываю приложения, используя Spark/Spark-Streaming, но до сих пор всегда использовал HDFS для хранения файлов. Тем не менее, я достиг стадии, где я изучаю, если это можно сделать (в производстве, работающем 24/7) без HDFS. Я пробовал просеивать группу пользователей Spark, но пока не нашел конкретного ответа. Обратите внимание, что я использую контрольные точки и обработку потока с использованием состояния, используя updateStateByKey.Spark/Spark Streaming в производстве без HDFS
ответ
В зависимости от потокового (я использую Кафка), вам не нужно использовать контрольно-пропускные пункты и т.д.
С искрой 1.3 они внедрили прямой подход с таким количеством преимуществ.
Упрощенный параллелизм: нет необходимости создавать несколько входных потоков Kafka и объединение их. С помощью directStream Spark Streaming будет создавать как множество разделов RDD, так как есть разделы Kafka, которые будут потреблять, которые все будут читать данные из Kafka параллельно. Таким образом, существует однократное сопоставление между разделами Kafka и RDD, которое проще понять и настроить.
Эффективность: для достижения нулевых потерь данных в первом подходе требуется данные, которые должны быть сохранены в журнале Write Ahead, который далее реплицировал данные . Это фактически неэффективно, так как данные эффективно получают , воспроизведенный дважды - один раз Kafka, а второй раз - Write Ahead Log. Этот второй подход устраняет проблему, поскольку нет приемника , и, следовательно, нет необходимости записывать записи вперед.
Семантика семантической точности: первый подход использует API высокого уровня Kafka для хранения использованных смещений в Zookeeper. Это традиционно способ потреблять данные от Kafka. Хотя этот подход (в сочетании с записывает вперед журналы) может обеспечить нулевую потерю данных (т. Е. По меньшей мере один раз семантики), существует небольшая вероятность, что некоторые записи могут потребляться дважды при некоторых отказах. Это происходит из-за несоответствий между данными, надежно полученными Spark Streaming и смещениями, отслеживаемыми от Zookeeper. Следовательно, в этом втором подходе мы используем простой API Kafka , который не использует Zookeeper и смещения, отслеживаемые только Spark Потоковая передача через свои контрольные точки. Это устраняет несоответствия между Spark Streaming и Zookeeper/Kafka, поэтому каждая запись , полученная Spark Streaming эффективно ровно один раз, несмотря на неудачи.
Если вы используете Кафку, вы можете узнал больше здесь: https://spark.apache.org/docs/1.3.0/streaming-kafka-integration.html
подход 2.
- 1. Спарка Streaming HDFS
- 2. Spark streaming не считывает файлы, перемещенные из HDFS в HDFS
- 3. Контрольная точка Spark Streaming для удаленных hdfs
- 4. Streaming with ActionController :: Live не работает в производстве
- 5. Нужны разрешения hdfs, без sudo или hdfs
- 6. Пустая папка в HDFS с использованием Spark Streaming + Kafka
- 7. Данные пропущены при записи Spark Streaming output в HDFS
- 8. Процесс Spark Streaming rdd и хранить в одном файле HDFS
- 9. NoSQL без HDFS
- 10. Исходный автономный без hdfs
- 11. Как написать болт HDFS для Twitter Streaming с помощью Шторма
- 12. Http Live Streaming без кодирования
- 13. Twitter Streaming без ключевого слова
- 14. Как запустить EXtjs в производстве без Ext.Loader
- 15. Потоковая передача данных HDFS в Storm (aka HDFS spout)
- 16. Использование метаданных в улей БЕЗ Hadoop/HDFS
- 17. Поток данных в hdfs напрямую без копирования
- 18. Spark Streaming Kafka противодавление
- 19. Twitter - Hadoop Data Streaming
- 20. Spark Streaming textFileStream COPYING
- 21. Flume Twitter Streaming Issue
- 22. spark streaming fileStream
- 23. Spark Streaming: source HBase
- 24. ОШИБКА: Streaming баночка не найден
- 25. Альтернативы Live Audio Streaming * без * Flash, Silverlight
- 26. DVB live streaming to android без кодирования
- 27. Real Time Twitter Streaming без постоянного опроса
- 28. Hadoop streaming C++ getTaskId
- 29. Использование Spark Streaming без загрузки искры Apache
- 30. Консоль Kafka HDFS - без полного конфлюэнта