您可以使用HDFS作为主要存储吗?

时间:2019-04-07 00:42:44

标签: hadoop hdfs storage data-lake

将您的数据保存在Hadoop中并使用Spark / Hive等使用它可靠吗?

将HDFS用作主存储有什么优势?

2 个答案:

答案 0 :(得分:1)

HDFS仅与维护文件元数据的Namenode可靠。您最好设置Namenode HA并对其进行频繁的快照,并从HDFS外部存储它们。

如果所有Namenode都不可用,或者它们的元数据存储已损坏,尽管这些文件本身很好并且具有高可用性,您仍将无法读取HDFS datanode数据

答案 1 :(得分:1)

以下是在Hive与HDFS(和/或HBase)中存储数据的一些注意事项。

配置单元

  1. HDFS是支持故障转移和HA的文件系统。 HDFS将根据您选择的复制因子在多个数据节点中复制数据。 Hive建立在Hadoop之上,因此可以将数据存储在HDFS中,也可以利用HDFS for HA的优点。
  2. Hive利用predicates-pushdown提供了巨大的性能优势。 Hive还可以与现代文件格式(例如镶木地板和ORC)结合使用,从而进一步提高性能(利用谓词-下推式)。
  3. Hive通过类似于SQL的语言HQL(Hive查询语言)提供对数据的轻松访问。
  4. Hive与Spark搭配使用非常好,您可以将它们结合使用,既可以将Hive数据检索到数据帧中,又可以将数据帧保存到Hive中。

HDFS / HBase:

  1. Hive是用于数据分析的仓库系统,因此,Hive CRUD操作比直接访问HDFS文件(或为快速CRUD操作而构建的HBase)相对要慢。例如,在流应用程序中,将数据保存在HDFS或HBase中将比在Hive中快得多。如果您需要快速存储(或插入查询),并且不对大型数据集进行任何分析,则应首选HDFS / HBase而不是Hive。
  2. 如果性能对于您的应用程序至关重要,因此您希望跳过Hive直接访问HDFS文件的额外层。
  3. 团队决定不使用SQL。

相关帖子:

When to use Hadoop, HBase, Hive and Pig?