Сценарии применения больших данных обычно делятся на сценарии автономной обработки и сценарии обработки в реальном времени. Это справедливо и для традиционного развития, то же самое.
Есть ли у вас какие-либо идеи относительно сценариев вычислений в автономном режиме и в реальном времени?
Ваше первое впечатление может заключаться в том, что обработка сцен в автономном режиме происходит медленнее, тогда как обработка сцен в реальном времени происходит относительно быстрее, и вы можете получить результат обработки более своевременно.
Но по сути это не то, как отличить оффлайн от реального времени. Фактически, когда объем данных невелик, автономная обработка может быть очень быстрой; когда объем данных велик, обработка в реальном времени также может быть очень медленной.
Существенная разница между автономным режимом и режимом реального времени заключается в том, являются ли обрабатываемые данные ограниченными или неограниченными.
В качестве примера возьмем сценарий автономной обработки. После того, как данные сгенерированы из источника данных, мы сначала сохраняем их. Где бы вы его ни сохранили, если предположить, что сохраненные данные составляют 10 ГБ, эти 10 ГБ данных не будут увеличиваться или уменьшаться при последующих операциях. Он установлен на уровне 10 ГБ.
Мы выполняем операции на основе этих 10 ГБ данных. Операции, завершенные в это время, являются оффлайн-операциями. Автономные операции наиболее подходят для пакетной обработки. После обработки выведите окончательный результат и сохраните его.
С точки зрения программы пакетной обработки данные, которые мы обрабатываем, представляют собой сохраненный набор данных, который представляет собой ограниченные данные. При хранении он равен 10 Г, а при обработке также равен 10 Г. Он не увеличивается и не уменьшается.
Конечно, офлайн имеет и другое значение: вы можете напрямую отключиться от Интернета после сохранения данных. Эта часть данных может быть обработана, даже если сеть прервана.
Сценарий обработки в реальном времени отличается. После того, как данные сгенерированы из источника данных, они немедленно передаются на обработку задаче потоковой обработки. Вычислительные задачи могут быть написаны на Java или Python. Независимо от того, какая это вычислительная задача потоковой обработки, она должна работать круглосуточно и без перерывов, чтобы обеспечить своевременную обработку данных.
Результаты обработки могут сохраняться и обновляться в режиме реального времени, что позволяет вызывать и отображать внешние службы в режиме реального времени.
Поскольку данные из источника данных генерируются в реальном времени, с точки зрения задачи потоковой обработки, являются ли эти данные ограниченными или неограниченными? Оно не должно иметь границ. Это происходит в реальном времени, как будто не имеет границ и всегда течет.
Обработка такого рода неограниченных данных называется обработкой в реальном времени.
При обработке такого рода данных в реальном времени мы обычно используем потоковую обработку. Поэтому иногда, когда упоминаются автономная пакетная обработка и потоковая обработка в реальном времени, они упоминаются вместе. Автономные сценарии подходят для операций пакетной обработки, а сценарии реального времени подходят для операций потоковой обработки.
В операции пакетной обработки после получения данных сначала все данные проходят через первый этап обработки, а затем отправляются окончательный результат на следующий этап для обработки.
Это означает, что при пакетной обработке при наблюдении в любой момент времени можно обнаружить, что все данные должны находиться на определенном этапе одновременно.
Существуют различные методы обработки потока. Каков метод обработки потока?
Потоковая обработка работает так же, как рабочие на сборочной линии: первый рабочий отвечает за первый этап, второй — за второй этап и так далее.
Они ждут передачи данных. После поступления данных приступают к обработке. После завершения обработки результаты обработки сразу передаются на следующий этап. Затем продолжайте ждать поступления новых данных.
Как только данные доступны, они обрабатываются и после обработки передаются на следующий этап. Каждый этап такой.
При потоковой обработке, когда вы наблюдаете за ней в любой момент, вы можете обнаружить, что данные существуют в несколько этапов. Вот в этом они и различаются.
Автономная пакетная обработка и потоковая обработка в реальном времени — эту концепцию каждый должен четко различать. Автономная обработка и обработка в реальном времени в основном сосредоточены на том, ограничены ли данные или нет. Ограниченный означает обработку в автономном режиме, а неограниченный означает обработку в реальном времени.
Автономные данные подходят для пакетной обработки. Данные в реальном времени подходят для потоковой обработки.
Типичные сценарии пакетной обработки в автономном режиме включают хранилище данных, поиск и извлечение, графические вычисления и анализ данных, которые являются автономными сценариями.
Для сценариев обработки в реальном времени существуют хранилища данных в реальном времени, анализ данных в реальном времени, машинное обучение в режиме реального времени и т. д. Все задачи, требующие обработки в реальном времени, относятся к этому сценарию.