Подключение к потокам данных
В проектах Открытое озеро данных Qlik поддерживаются следующие потоковые службы. Данные событий непрерывно поступают для обеспечения доступности практически в реальном времени для последующей интеграции данных, аналитики и ИИ, что позволяет создавать конвейеры с низкой задержкой, отражающие самую актуальную операционную активность.
Потоковые службы, такие как Apache Kafka и Amazon Kinesis, предоставляют надежные, высокопроизводительные конвейеры для захвата операционных событий по мере их возникновения. В отличие от файловых источников, которые полагаются на пакетную загрузку, потоковые источники непрерывно доставляют данные по мере возникновения событий, обеспечивая обработку практически в реальном времени без ожидания генерации или планирования файлов. Производители публикуют структурированные или полуструктурированные сообщения, которые сохраняют свою схему и поддерживают секционирование. Все обновления и удаления для одной и той же записи должны использовать один и тот же ключ секционирования. Kafka и Kinesis гарантируют упорядочивание только в пределах одной секции или сегмента, а не по всему разделу или потоку, поэтому использование согласованного ключа секционирования гарантирует, что изменения для данной записи обрабатываются в правильной последовательности. Qlik также поддерживает Amazon S3 в качестве источника потоковой передачи для непрерывного приема данных событий.
Потоковый прием данных в сравнении с пакетным приемом данных
Различие между потоковыми и пакетными источниками данных заключается в следующем:
-
С обоими источниками события эффективно поступают каждую минуту, поддерживая обработку с низкой задержкой и аналитику почти в реальном времени.
-
В случае непотоковых источников сначала происходит полная загрузка существующих данных, а затем поступают изменения. Вы также можете перезагрузить данные полной загрузки из источника.
-
В случае потоковых источников нет четкого различия между начальной загрузкой и последующими событиями. Qlik может управлять сроком хранения, а также поддерживает разделы.
В проекте Открытое озеро данных Qlik источники потоковой передачи могут использоваться только с задачей промежуточного хранения потока и задачей преобразования потока:
-
Данные потоковой передачи принимаются с помощью задачи промежуточного хранения потока, и вместо обработки дискретных файлов задача промежуточного хранения потока считывает события по мере их поступления, помещает данные в Amazon S3 и сохраняет события в виде файлов Avro. Этот подход сохраняет эволюцию схемы, поддерживает сложные типы данных, такие как структуры, и обеспечивает эффективное хранение с оптимизированной производительностью запросов при сохранении модели непрерывного приема данных.
-
Когда вы загружаете данные из потокового источника, задача преобразования потока автоматически добавляется для каждого набора данных, который будет храниться в формате Iceberg. При необходимости задача преобразования потока может использоваться для стандартизации структур, обогащения полезных нагрузок событий или согласования данных с моделями последующего потребления.
-
Задача зеркалирования данных позволяет зеркалировать наборы данных из потоковых источников в облачные хранилища данных, что позволяет последующим системам потреблять потоковые события без дублирования данных. Для получения дополнительной информации см. раздел Зеркальное отображение данных в облачное хранилище данных.
Ограничения
Следующие ограничения применяются ко всем источникам данных:
-
Если ваши файлы разных типов, что может произойти, когда они поступают из нескольких источников или версий, задача преобразования, созданная с использованием одного файла-образца (например, во время адаптации), не учитывает эти различия автоматически.
-
Если вы изменяете типы данных в задаче промежуточного хранения, например потому, что вам нужно хешировать данные, убедитесь, что типы данных преобразования соответствуют новым типам данных.