假设我不是像hive或hbase这样的工具(spark无论如何都无法使用hive索引进行优化),那么将数据写入hdfs以更快地访问该数据的最佳方法是什么。
我想的是保存许多不同的文件,它们的名称由键标识。让我们假设我们有一个数据库的人谁是确定他们的名字和姓氏。也许我可以保存名字和姓氏的第一个字母的文件。这样,我们将有26x26=676个文件。所以,举个例子,如果我们想看到艾伦·沃克的记录,我们只需要加载文件aw。这是一个好方法还是有更好的方法来做这类事情?
假设我不是像hive或hbase这样的工具(spark无论如何都无法使用hive索引进行优化),那么将数据写入hdfs以更快地访问该数据的最佳方法是什么。
我想的是保存许多不同的文件,它们的名称由键标识。让我们假设我们有一个数据库的人谁是确定他们的名字和姓氏。也许我可以保存名字和姓氏的第一个字母的文件。这样,我们将有26x26=676个文件。所以,举个例子,如果我们想看到艾伦·沃克的记录,我们只需要加载文件aw。这是一个好方法还是有更好的方法来做这类事情?
1条答案
按热度按时间b1uwtaje1#
我相信索引是你需要的。在hdfs和数据库中,索引在插入上有一些开销,但会使查询更快。
hdfs没有任何类型的索引,因为它应该是一个dfs而不是一个数据库,但是您提到的需求已经通过第三个程序实现了
有许多与hdfs一起工作的索引工具,例如,您可以看看apachesolr
以下是一个教程,让您继续学习:https://lucene.apache.org/solr/guide/6_6/running-solr-on-hdfs.html