Уважаемые,
Я рассматриваю варианты правильного использования Streamsets в данной общей архитектуре Data Hub:
- У меня есть несколько типов данных (csv, tsv, json, binary)из IOT), который должен быть захвачен CDC и сохранен в теме Kafka в формате «как есть», а затем передан в озеро данных HDFS как -is.
- Затем из этой темы Kafka будет использован другой конвейер Streamsets.и преобразовать в общий формат (в зависимости от типа данных) в JSON, выполнить проверки, маскирование, метаданные и т. д. и сохранить в другой теме Kafka.
- То же сообщение JSON будет сохранено в озере данных HDFS вФормат Avro для пакетной обработки.
- Затем я буду использовать Spark Streaming, чтобы использовать те же сообщения JSON для обработки в реальном времени, предполагая, что все данные JSON готовы и могут быть дополнительно обогащены другими данными для масштабируемого сложного преобразования.
Я не использовал Streamsets для дальнейшей обработки и использования Spark Streaming для масштабируемого комплексапреобразования, которые не являются частью управления SLA (поскольку задания Spark не запускаются из потоковых наборов). Кроме того, я не смог использовать Kafka Registry с Avro в этом проекте для проверки схемы JSON, а схема JSON проверяется на основе пользовательской логики, встроенной в StreamSets, какJavascript.
Что можно сделать лучше в вышеприведенном дизайне?
Заранее спасибо ...