大数据高频面试题一:hive和Oracle的区别

Hive和Oracle数据库最大的区别  在于存储 和计算方面:

Hive存储在h d f s上(Hadoop分布式文件系统容错性高),Oracle将数保存在 本地文件系统中。Hive中不建议对数据的改写Oracle中的数据 需要经常进行修改的。

 Hive支持很大规模的 数据计算(支持TB,PB级别),Oracle支持的 数据规模 就比较小。

  Hive的计算 依赖于hadoop的M R,本身没有计算功能,oralce是在本机的数据库内存中计算。

 当数据规模较小,Hive的执行延迟就比较高。当数据规模达到PB级以上,超过了oracle的处理能力,Hive并行计算的优势出来。

他们的数据类型不同hive用string表示字符,oralce使用varchar2。

他们建表语法不同:hive建表分为内部表和外部表,且外部表 删表 不删除数据的,oralce主要是建内部表,他一删表 就全部删了。

他们的关联方式不同:因为hive它不能用where进行表关联,

所以同一种表关联 在oracle中有两种写法,而在hive中却只有一种。

除这些外,他们在分区语法、数据上传方式、表所属上都不相同。

他们数据格式不同,Oracle 只支持结构化的数据 数据(行和列)的数据,hive支持非结构化数据(json格式)。

hive 只支持分区,不支持索引

oralce是有存储过程和事务,但hive 没有。

你可能感兴趣的:(面试题,hive,hadoop,大数据)