微信公众号:云轻灵网络服务
微信扫描右侧二维码
关注公众号
云存储网盘 » 技术博客 » 正文

Hive介绍和作为服务器运行,如何连接应用程序?以及Apache Pig与Hive的区别和联系

简体   繁體 字体: 0人浏览

Apache Hive是一个建立在Hadoop架构之上的数据仓库。它能够提供数据的精炼,查询和分析。Apache Hive起初由Facebook开发,目前也有其他公司使用和开发Apache Hive,例如Netflix等。亚马逊公司也开发了一个定制版本的Apache Hive,亚马逊网络服务包中的Amazon Elastic MapReduce包含了该定制版本。

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

1)说明关于SMB加入Hive的说明。

在SMB加入Hive中,每个映射器从第一个表中读取一个存储桶,并从第二个表中读取相应的存储桶,然后执行一个合并排序连接。主要使用排序合并桶(SMB)加入蜂巢,因为文件或分区或表连接没有限制。当表格很大时,可以最好地使用SMB连接。在SMB连接中,这些列是使用连接列进行分类和排序的。 SMB连接中的所有表应具有相同的桶数。

2)如果您将Hive作为服务器运行,如何连接应用程序?

当运行Hive作为服务器时,应用程序可以以3种方式之一连接 -

ODBC驱动程序 – 这支持ODBC协议

JDBC驱动程序 – 这支持JDBC协议

Thrift Client – 此客户端可用于使用不同的编程语言(如PHP,Python,Java,C ++和Ruby)调用所有hive命令。

3)Hive加载语句中的overwrite关键字是什么意思?

Hive加载语句中的覆盖关键字删除目标表的内容,并用文件路径引用的文件替换它们,即在使用overwrite关键字时,由文件路径引用的文件将添加到表中。

4)Hive中的SerDe是什么?你如何写自己的定制SerDe?

SerDe是一个Serializer DeSerializer。 Hive使用SerDe从表读取和写入数据。一般来说,用户喜欢写Deserializer而不是SerDe,因为他们想要阅读自己的数据格式,而不是写它。如果SerDe支持DDL,即基本上具有参数化列和不同列类型的SerDe,用户可以实现基于协议的DynamicSerDe,而不是从头开始编写SerDe。

5)Apache Pig和Hive都用于创建MapReduce作业。 而在某些情况下,Hive以类似于Apache Pig的方式在HDFS上运行。 在下表中,我们列出了将Apache Pig与Hive分开的几个重点。

Apache Pig          VS                     Hive

Apache Pig使用一种称为Pig Latin的语言。 它最初是在雅虎创建的。

Hive使用一种称为HiveQL的语言。 它最初是在Facebook创建的。

Pig Latin是一种数据流语言。

HiveQL是查询处理语言。

Pig是一种程序语言,适合流行范例。

HiveQL是一种声明性语言。

Apache Pig可以处理结构化,非结构化和半结构化数据。

Hive主要用于结构化数据。

关键词: , , , , , , , 

云轻灵网络服务


云存储网盘

下载不限速


微信文章

开阔你的视野

 

微信扫描二维码
关注我们