首页 / 知识
关于hadoop:Hive与HBase相比如何?
2023-04-13 00:08:00

How does Hive compare to HBase?我有兴趣了解最近发布的(http://mirror.facebook.com/facebook/hive/hadoop-0.17/)Hive与HBase在性能方面的比较。 Hive使用的类似SQL的接口比我们已实现的HBase API更好。 很难找到有关Hive的很多信息,但是我在Hive站点上发现了这个片段,该片段非常倾向于HBase(加粗): Hive基于Hadoop,它是一个批处理系统。因此,该系统不能也不能够保证查询的低延迟。这里的范例严格是提交作业,并在作业完成时得到通知,而不是实时查询。因此,不应将其与像Oracle这样的系统进行比较,因为该系统仅对少量数据进行分析,但由于迭代之间的响应时间少于几分钟,因此迭代进行的分析要多得多。对于Hive查询,即使是最小的作业,响应时间也可能在5到10分钟左右,对于较大的作业,响应时间甚至可能长达数小时。 由于HBase和HyperTable都是关于性能的(基于Google的BigTable建模),因此听起来好像它们肯定会比Hive快得多,但代价是功能和学习曲线更高(例如,它们没有联接或SQL) -like语法)。 从一个角度来看,Hive由五个主要组件组成:类SQL的语法和解析器,查询计划器,查询执行引擎,元数据存储库和列式存储布局。它的主要重点是数据仓库式分析工作负载,因此不需要通过键进行低延迟的值检索。 HBase具有自己的元数据存储库和列式存储布局。可以在HBase表上编写HiveQL查询,从而使HBase可以利用Hive的语法和解析器,查询计划程序和查询执行引擎。有关更多详细信息,请参见http://wiki.apache.org/hadoop/Hive/HBaseIntegration。 Hive是一种分析工具。就像猪一样,它是通过利用map reduce进行临时批处理潜在大量数据的设计。想想terrabytes。想象一下在关系数据库中尝试这样做... HBase是基于BigTable的基于列的键值存储。尽管您可以通过HBase运行map reduce作业,但您本身不能执行查询。它的主要用例是按键获取行或扫描行范围。一个主要功能是,在跨行键范围扫描列的"族"时,可以具有数据局部性。
据我所知,Hive更像Pig。 Hive类似于SQL,而Pig则基于脚本。 HBase用于键值数据的存储和检索...您可以扫描或过滤这些键值对(行)。您不能对(键,值)行进行查询。 Hive和HBase用于不同的目的。 蜂巢: 优点: 缺点: HBase: 优点: 缺点: 摘要: Hive可以用于分析查询,而HBase可以用于实时查询。甚至可以从Hive读取数据并将其写入HBase,然后再返回。 在最新的Hive版本中,由于Hive和HBase已集成在一起,因此发生了许多变化,需要进行少量更新。这意味着Hive可用作HBase数据存储区的查询层。现在,如果人们正在寻找替代性的HBase接口,Pig还提供了一种非常好的加载和存储HBase数据的方法。此外,Cloudera Impala似乎可以在HBase之上提供基于Hive的大量性能查询。与传统的Hive设置相比,它们声称查询速度提高了45倍。 为了比较Hive和Hbase,我想回顾一下下面的定义:
Hive是建立在Hadoop之上的数据仓库基础架构,适用于长期运行的ETL作业。 |
最新内容
相关内容
提升Python程序性能的好习惯
提升Python程序性能的好习惯,代码,名字,检测,数据,培训,模块,函数,变量,性能,对象,掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的python操作系统接口模块:OS
python操作系统接口模块:OS,管理,工作,工具,系统,服务,培训,模块,文件,目录,函数,OS模块提供了很多与操作系统进行交互的函数,比如常见的使用函Python性能分析
Python性能分析,代码,分析,对比,时间,工具,标准,注释,跨行,通用,报告,python标准库提供两个代码性能分析相关的模块,即timeit和cProfile/profipython 抽象类和抽象接口
python 抽象类和抽象接口,概念,基础,设计,培训,数据,接口,方法,相似性,属性,函数,抽象类的本质还是类,指的是一组类的相似性,包括数据属性(如al关于C#:NSEnumerator性能与可可中的
关于C#:NSEnumerator性能与可可中的for循环,关于C#:NSEnumerator性能与可可中的for循环,循环,集合,项目,修改,NSEnumerator performanc性能与可读性
性能与可读性,性能与可读性,这是,它是,引号,解决问题,Performance vs Readability阅读此问题后,我发现它是(请注意引号)"代码"以解代理服务器的C#性能(vs C)
代理服务器的C#性能(vs C),代理服务器的C#性能(vs C),代理服务器,执行,服务器,我想,C# Performance For Proxy Server (vs C++)我想我应该使用哪个PHP操作码缓存来提
我应该使用哪个PHP操作码缓存来提高性能?,我应该使用哪个PHP操作码缓存来提高性能?,缓存,操作码,高负载,安装指南,Which PHP opcode ca关于C#:DateTime.Now是测量函数性能
关于C#:DateTime.Now是测量函数性能的最佳方法吗?,关于C#:DateTime.Now是测量函数性能的最佳方法吗?,代码片段,瓶颈,测量,性能,Is DateTi关于c#:查找在ASP.NET中使用特定接
关于c#:查找在ASP.NET中使用特定接口的控件,关于c#:查找在ASP.NET中使用特定接口的控件,我觉得,这段,我有一个,缺少,Finding controls关于vb.net:IIf()和If之间的性能差
关于vb.net:IIf()和If之间的性能差异,关于vb.net:IIf()和If之间的性能差异,语句,性能,引用,函数,Performance difference between IIf(关于设计模式:Java Singleton与静态
关于设计模式:Java Singleton与静态-具有真正的性能优势吗?,关于设计模式:Java Singleton与静态-具有真正的性能优势吗?,分支,合并,初始