1

将数据保存在 Hadoop 中并使用 Spark/Hive 等使用它是否可靠?

使用 HDFS 作为主存储有哪些优势?

4

2 回答 2

1

HDFS 仅与维护文件元数据的 Namenode 一样可靠。你最好设置 Namenode HA 并经常拍摄它们的快照,并将它们存储在远离 HDFS 的外部。

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

于 2019-04-07T19:54:40.603 回答
1

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

蜂巢

  1. HDFS 是一个支持故障转移和 HA 的文件系统。HDFS 将根据您选择的复制因子将数据复制到多个数据节点中。Hive 构建在 Hadoop 之上,因此可以将数据存储在 HDFS 中,并利用 HDFS 的优点进行 HA。
  2. Hive 利用谓词下推提供了巨大的性能优势。Hive 还可以与现代文件格式结合使用,例如 parquet 和 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。

相关帖子:

何时使用 Hadoop、HBase、Hive 和 Pig?

于 2019-04-07T22:21:59.727 回答