首页 > 编程知识 正文

不着什么东东什么东东(hive调优)

时间:2023-05-06 00:34:32 阅读:91867 作者:448

Hive是基于Hadoop平台的数据仓库工具,具有大量的数据存储、水平可扩展性、离线批量处理的优点,传统的关系型思洛存储器无法支持大量的数据存储、水平但是,由于Hive数据存储和数据处理依赖于HDFS和MapReduce,因此在Hive中离线批量处理数据时,必须将查询语言转换为MR任务

Hive是由FaceBook开发和开源的。 当时,FaceBook使用Oracle作为数仓。 由于数据量增加,Oracle数仓性能恶化,无法对大量数据进行离线批量分析,因此基于Hadoop开发了Hive,并开放给了Apacha开源。

Hive无法进行实时数据查询,Hbase提供实时在线查询功能,因此Hive和Hbase形成了良性的互补。 Hbase因其海量数据存储、水平扩展、海量数据处理等优点而得到广泛应用。

Pig和HIVE工具一样,可以用类sql语言处理数据。 但是,他们的应用场景有差异,Pig用于数据仓库数据的ETL,HIVE用于数仓数据分析。

Hive的系统架构图如下图所示。

图hive系统体系结构

从体系结构图中可以看出,Hive还没有完成数据的保存和处理。 只是HDFS完成了数据的保存,MR完成了数据的处理,用户提供了调查语言的能力。 Hive支持名为Hivesql的类sql语言。 用户可以用Hivesql语言进行查询,其驱动程序可以将Hivesql语言转换为MR任务,完成数据处理。

【Hive的访问接口】

CLI :这是hive提供的命令行工具

hwi :这是hive的web访问接口

JDBC/ODBC是一个标准的APP编程接口

Thrift Server :提供不同语言并对远程RPC进行Hive调用的能力。

因此,Hiv具备丰富的访问接口能力,几乎可以满足各种开发APP应用场景的需要。

【驱动程序】

包含编译器、优化器和执行器的HIVE比较核心驱动模块,负责将用户输入的Hivesql转换为MR数据处理任务。

【元存储器】

在HIVE元数据存储模块中,访问和检索数据需要首先访问元数据。 Hive元数据通常使用单独的关系数据库存储。 一般使用Mysql。 为了确保高可用性,还必须主部署Mysql元数据库。

体系结构图上的Karmasphere、Hue和Qubole也是访问HIVE的工具。 其中,Qubole可以远程访问HIVE。 HIVE作为公共云服务,相当于用户可以通过互联网访问HIVE服务。

Hive在使用中出现了一些不稳定的问题,Hive HA机制得到了发展。 其HA体系结构的图像如下图所示。

图hive HA体系结构

Hive HA机制的核心在HAProxy上,为了确保高可用性,然后可以将多个HIVE实例、多个HIVE实例对接形成资源池。 用户访问HIVE时,首先访问HAProxy,HAProxy依次对HIVE实例进行逻辑可用性测试,如果发现某个实例不可用,则将其列入黑名单。 HAProxy维护黑名单,并对黑名单执行操作。 例如,如果重新启动后发现实例可以成功访问,则从黑名单中删除该实例。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。