Хранилище данных с огромным количеством операций чтения и записи и производительности интеграции с Spark Structured Streaming - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть случай, когда в NoSQL Datastore хранится около 150 миллионов записей.Каждый день может происходить куча новых вставок или обновлений, скажем, порядка 10 тысяч и 20-25 миллионов соответственно.И эти обновления являются предметом структурированной потоковой передачи Spark.Я использовал HBase в качестве начального решения, но я не уверен, что это лучший выбор.Здесь во время выполнения бизнес-логики происходит операция объединения, и Spark должен читать все эти 150 миллионов записей, но дважды в день.С другой стороны, существует около 25-30 Кбайт записей в секунду, которые необходимо постоянно обновлять в хранилище данных после объединения.Я прочитал эту статью.Какой Datastore будет лучшим выбором с точки зрения производительности, а также интеграции структурированной потоковой передачи Spark?

1 Ответ

0 голосов
/ 27 июля 2019

HBase является магазином KV и на самом деле подходит для этого.

Но если я понимаю ваш подход, вы, кажется, хотите присоединиться.Это, конечно, не подход.Слишком много данных и, следовательно, времени для микропакета, даже с кэшированием.СОЕДИНЕНИЕ работает только с небольшими справочными таблицами (из Hive, KUDU).

Вам нужно что-то похожее на это:

val query = ds.writeStream
              .foreach(new HBaseForeachWriter ...

См. Spark Structured Streaming с интеграцией Hbase дляруководство, и вы должны быть на вашем пути.

...