Как я могу записать в HDFS из Spark, чтобы ускорить доступ к этим данным? - PullRequest
0 голосов
/ 07 ноября 2018

Предположим, что я не такой инструмент, как Hive или HBase (Spark все равно не может использовать индексы Hive для оптимизации), что является лучшим способом записи данных в HDFS, чтобы ускорить доступ к этим данным.

Я думал о том, чтобы сохранить много разных файлов, имя которых идентифицируется ключами. Допустим, у нас есть база данных людей, которые идентифицированы по имени и фамилии. Может быть, я мог бы сохранить файлы с первыми буквами имени и фамилии. Таким образом, у нас будет 26x26 = 676 файлов. Так, например, если мы хотим увидеть запись Алана Уокера, нам нужно просто загрузить файл AW. Это был бы хороший способ или есть намного лучшие способы сделать это?

1 Ответ

0 голосов
/ 07 ноября 2018

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

HDFS не имеет какого-либо вида индекса, поскольку это, скорее всего, DFS, а не база данных, но требование, о котором вы упоминаете, было реализовано с помощью третьих программ

Существует множество инструментов индексирования , которые работают с HDFS, вы можете посмотреть APACHE SOLR , например

Вот учебник, который поможет вам продолжить: https://lucene.apache.org/solr/guide/6_6/running-solr-on-hdfs.html

...