你能用hdfs作为你的主要存储吗?

2izufjch  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(408)

在hadoop中保存数据并使用spark/hive等使用它是否可靠?
使用hdfs作为主存储器有什么好处?

qij5mzcb

qij5mzcb1#

以下是将数据存储在hive与hdfs(和/或hbase)中的一些注意事项。
Hive:
hdfs是一个支持故障转移和ha的文件系统。hdfs将根据您选择的复制因子在多个datanode中复制数据。hive构建在hadoop之上,因此可以在hdfs中存储数据,并利用hdfs的优点实现ha。
hive利用 predicate 下推提供了巨大的性能优势。hive还可以与现代文件格式(如parquet和orc)结合使用,从而进一步提高性能(利用 predicate pushdown)。
hive通过hql(hivequerylanguage)提供了对数据的非常简单的访问,hql是一种类似sql的语言。
hive与spark配合得非常好,您可以将它们结合起来,即将hive数据检索到dataframes和将dataframes保存到hive中。
hdfs/hbase:
hive是一个用于数据分析的仓库系统,因此hive crud操作相对比直接访问hdfs文件(或为快速crud操作而构建的hbase)慢。例如,在流式应用程序中,在hdfs或hbase中保存数据将比在hive中快得多。如果您需要快速存储(或插入查询),并且不需要对大型数据集进行任何分析,那么您应该更喜欢hdfs/hbase而不是hive。
如果性能对应用程序非常重要,因此您更愿意跳过额外的配置单元层直接访问hdfs文件。
团队决定不使用sql。
相关岗位:
何时使用hadoop、hbase、hive和pig?

envsm3lx

envsm3lx2#

hdfs只与维护文件元数据的namenode一样可靠。您最好设置namenode ha并经常对它们进行快照,并将它们从hdfs外部存储起来。
如果所有namenodes都不可用,或者它们的元数据存储已损坏,那么您将无法读取hdfs datanode数据,尽管这些文件本身很好,而且高度可用

相关问题