Как / Где я могу записать данные временных рядов?Как паркет форматировать на Hadoop или HBase, Cassandra? - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть данные датчика в реальном времени.Моя основная цель - сохранить необработанные данные.Я должен сделать это так, чтобы стоимость хранилища была минимальной.

Мой сценарий такой:

Все датчики выдают данные временных рядов, и я должен сохранить эти необработанные данные временных рядов для пакетного анализа.Формат паркета отлично подходит для меньших затрат на хранение.Но имеет ли смысл, если все входящие данные временного ряда записываются в формате партера?

С другой стороны, я хочу обрабатывать все входящие данные временного ряда в реальном времени.Для сценария в реальном времени;Я могу использовать Кафку.Но можно ли использовать Hbase или Cassandra для пакетного анализа и анализа в реальном времени вместо Kafka?

Если я использую Cassandra, как я могу выполнить пакетный анализ?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

У меня есть данные датчика в реальном времени.Моя основная цель - сохранить необработанные данные.Я должен сделать это так, чтобы стоимость хранилища была минимальной.

Если ваше требование заключается в хранении необработанных данных, вы можете записать их в hdfs в сжатой форме.Использование формата паркета может быть нецелесообразным.Форматы могут меняться.Если у вас есть входящие данные в kafka, вы можете использовать kafka connect для записи в hdfs партиями из темы.

Все датчики выдают данные временных рядов, и я должен сохранить эти необработанные данные временных рядов для партиианализ.Формат паркета отлично подходит для меньших затрат на хранение.Но имеет ли смысл записывать все входящие данные временного ряда в формате партера?

Не уверен, правильно ли я понимаю, но нет смысла хранить каждую точку данных в отдельном месте.файл паркета.

  1. формат паркета имеет издержки по сравнению с необработанными данными
  2. формат паркета специально разработан для того, чтобы иметь таблицы, подобные данным, с несколькими строками, так что фильтрация этих данных быстрая (слокальный доступ).
  3. пакетная обработка и файловые системы в большинстве случаев очень недовольны множеством мелких файлов.

С другой стороны, я хочу обрабатывать каждый входящийданные временных рядов в реальном времени.Для сценария в реальном времени;Я могу использовать Кафку.Но можно ли использовать Hbase или Cassandra как для пакетного анализа, так и для анализа в реальном времени вместо Kafka?

В зависимости от вашего варианта использования для пакетной обработки может быть достаточно просто использовать hive или spark sql нанеобработанные данные.Может быть, процессор Кафки-потоков достаточно для ваших требований в реальном времени.

Так много вариантов.Все зависит от вариантов использования ...

0 голосов
/ 12 февраля 2019

Но можно ли использовать Hbase или Cassandra для анализа как в пакетном режиме, так и в режиме реального времени вместо Kafka?

Думайте о Кафке как о трубе в эти магазины.Это не замена, чтобы использовать «вместо» либо.HBase и Cassnadras являются хранилищами, и вам нужно «пакетировать» данные из них ... Вы бы использовали Kafka Streams (или Spark, Flink или мой любимый NiFi) для фактической (почти) обработки в реальном времени перед этими системами,

Я бы предложил использовать Kafka, а не использовать метрики «точка-точка» в Hadoop (или связанных инструментах).Я также рекомендовал бы использовать что-то, предназначенное для таких данных, например CrateDB или InfluxDB ... Вы можете использовать Kafka для загрузки в и Hadoop, и эти другие инструменты, которые лучше настроены для хранения таких наборов данных (что является преимуществом"буферизировать" данные сначала в Кафке)

имеет ли смысл записывать данные каждого входящего временного ряда в формате партера?

Конечно.Если вы хотите хранить много данных для большого пакетного анализа.Но если вы создаете окно для ежечасных потоков данных и выполняете, например, суммы и средние значения, тогда действительно ли вам нужно хранить каждую точку данных?

Если я использую Cassandra, как я могу это сделать?пакетный анализ?

Ну, я бы надеялся, так же, как вы делаете это сейчас.Запланировать запрос к базе данных?Надеюсь, все данные есть?(без опозданий)

...