Что такое архитектура StreamSets?

Я не очень хорошо разбираюсь в архитектуре даже после прохождения руководств. Как масштабировать набор потоков в распределенной среде? Допустим, наша скорость ввода данных увеличивается от источника, тогда как гарантировать, что SDC не вызывает проблем с производительностью? Сколько демонов будет запущено? Будет ли это архитектура Master Worker или одноранговая архитектура?

Если на нескольких машинах работает несколько демонов (например, один sdc вместе с одним NodeManager в YARN), то как он будет отображать централизованное представление данных, т.е. общее количество записей и т. д.?

Также, пожалуйста, дайте мне знать архитектуру диспетчера производительности Dataflow. Какие все демоны есть в этом продукте?


person Aman Raturi    schedule 07.12.2017    source источник


Ответы (1)


Сборщик данных StreamSets (SDC) масштабируется путем разделения входных данных. В некоторых случаях это можно сделать автоматически, например Пакетный режим кластера запускает SDC как задание MapReduce в кластере Hadoop/MapR для чтения данных Hadoop FS/MapR FS, в то время как Режим Cluster Streaming использует разделы Kafka и запускает SDC как приложение Spark Streaming для запуска столько экземпляров конвейера, сколько есть разделов Kafka .

В других случаях StreamSets можно масштабировать за счет многопоточности — например, HTTP-сервер и JDBC Multitable Consumer запускают несколько экземпляров конвейера в отдельных потоках.

Во всех случаях Диспетчер производительности потока данных (DPM) может предоставить вам централизованное представление данных, включая общее количество записей.

person metadaddy    schedule 08.12.2017
comment
Значит ли это, что SDC нужен внешний кластер Hadoop или Spark? Экземпляр SDC работает отдельно и запускает задания в кластере? Пример: один из вариантов использования: мы получаем 1000 файлов из разных восходящих систем [от scp] в день параллельно, и они относительно довольно велики, скажем, каждый файл имеет размер 1-10 ГБ, и мы должны применить некоторые преобразования во всех этих файлах, позже мы выполняем некоторое объединение и агрегирование [отделение этой задачи от SDC]. Требуется ли для этого большая машина с ядрами и памятью на одном узле? Можно ли настроить кластер с экземплярами SDC, как это делает NiFi? - person uday; 04.04.2018
comment
@Uday, преимущества Streamsets заключаются в потоковой передаче данных, а не в жестком инструменте ETL. Алан Шеллоуэй сравнивает свою машину с зонтом в своей книге Объяснение шаблонов проектирования: мы используем оба, чтобы оставаться сухими под дождем, но у зонта есть то преимущество, что он легкий и складной, но у машины есть колеса. и может защитить более одного человека. Конечно, Streamsets может выполнять часть работы ETL за вас, но для больших файлов полезно использовать искровой процессор Apache. - person Ash; 22.05.2018
comment
@Uday, наконец, чтобы ответить на ваш вопрос, да, вы можете копировать файлы, используя параметр формата данных весь файл. - person Ash; 22.05.2018