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

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

简体   繁體 字体:

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主要用于结构化数据。

云轻灵网络服务


照片云存储

珍藏你的快乐


微信文章

开阔你的视野

 

微信扫描二维码
关注我们

关键词: , , , , , , ,