есть возможность хранить данные в HDFS с ключом-значением? - PullRequest
0 голосов
/ 06 марта 2019

Хранение данных в базах данных NoSQL может обеспечить модель хранения ключ-значение. Однако HDFS является распределенным хранилищем файлов в экосистеме Hadoop. Ключ-значение используется кластерами mapreduce. Следовательно, это распределение создается только на этапе обработки.

Мне нужно знать, есть ли возможность хранить в покое данные в HDFS, где каждое значение будет идентифицироваться ключом.

1 Ответ

1 голос
/ 06 марта 2019

Hadoop поддерживает SequenceFiles с самых ранних дней (если не с момента создания) https://wiki.apache.org/hadoop/SequenceFile.

Они полезны только в сценариях карты / сокращения, и сегодня вы, вероятно, захотите использовать один из столбчатых форматов (паркет)или orc) для хранения ваших данных, которые вы также можете использовать для хранения только одного ключа и одного значения, а также использовать с несколькими значениями для каждого ключа (они также содержат метаданные, которые позволят вам пропускать данные во время сканирования (например, фильтр паркетного пресса pushdown )https://drill.apache.org/docs/parquet-filter-pushdown/)

Обратите внимание, что все эти форматы не предоставят вам возможности онлайн-запросов (например, базы данных No-SQL), для которых вам нужна база данных no-sql - если вы хотите базу данных, которая хранит свои данные в HDFS, есть HBase(кстати, формат HFile, который он использует, также является многозначным форматом ключа, хранящимся в HDFS)

...