Apache Hive分布式容错数据仓库系统

Apache Hive™是一个分布式的、容错的数据仓库系统,它支持大规模的分析,并使用SQL方便地读取、写入和管理驻留在分布式存储中的pb级数据。

Apache Hive

Apache Hive是什么

Apache Hive是一个分布式的、容错的数据仓库系统,支持大规模的分析。Hive Metastore(HMS)提供了一个元数据的中央存储库,可以很容易地对其进行分析,从而做出明智的、数据驱动的决策,因此它是许多数据湖架构的关键组件。Hive建立在Apache Hadoop之上,通过hdfs支持S3、adls、gs等存储。Hive允许用户使用SQL读取、写入和管理pb级的数据。

Hive-Server 2 (HS2)

HS2支持多客户机并发性和身份验证。它旨在为JDBC和ODBC等开放API客户机提供更好的支持。

复制代码
>beeline -u "jdbc:hive2://host:10001/default"
Connected to: Apache Hive 

>jdbc:hive2://host:10001/>select count(*) from test_t1;

学习更多:https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Overview

Hive Metastore Server (HMS)

Hive Metastore (HMS)是关系数据库中Hive表和分区的元数据中央存储库,并通过Metastore服务API为客户端(包括Hive、Impala和Spark)提供访问这些信息的服务。它已经成为数据湖的构建块,这些数据湖利用了各种开源软件,比如Apache Spark和Presto。事实上,一个完整的工具生态系统,开源的和其他的,都是围绕Hive Metastore构建的,这张图展示了其中的一些。

学习更多:Design - Apache Hive - Apache Software Foundation

Hive ACID

Hive为ORC表提供了完整的ACID支持,并且只支持插入所有其他格式。

了解更多:Hive Transactions - Apache Hive - Apache Software Foundation

Hive数据压缩

基于查询和基于mr的数据压缩是开箱即用的。

复制代码
jdbc:hive2://> alter table test_t1 compact "MAJOR";
Done!
jdbc:hive2://> alter table test_t1 compact "MINOR";
Done!
jdbc:hive2://> show compactions;

学习更多:LanguageManual DDL - Apache Hive - Apache Software Foundation

Hive冰山

Hive通过Hive StorageHandler为Apache冰山表提供了开箱即用的支持,冰山表是一种云原生的高性能开放表格式。

Hive - Apache Iceberg™

安全性和可观察性

Apache Hive支持kerberos认证,并与Apache Ranger和Apache Atlas集成以提高安全性和可观察性。

Apache Atlas -- Apache Atlas Hook & Bridge for Apache Hive

Hive LLAP

Apache Hive通过低延迟分析处理(LLAP)实现交互式和亚秒级SQL, LLAP在Hive 2.0中引入,通过使用持久的查询基础设施和优化的数据缓存使Hive更快

LLAP - Apache Hive - Apache Software Foundation

查询规划器和基于成本的优化器

Hive使用Apache Calcite的基于成本的查询优化器(CBO)和查询执行框架来优化sql查询。

复制代码
jdbc:hive2://> explain cbo select ss.ss_net_profit, sr.sr_net_loss from store_sales ss join store_returns sr on (ss.ss_item_sk=sr.sr_item_sk) limit 5 ;+---------------------------------------------+ Explain +---------------------------------------------+ CBO PLAN: HiveSortLimit(fetch=[5]) HiveProject(ss_net_profit=[$1], sr_net_loss=[$3])   HiveJoin(condition=[=($0, $2)], joinType=[inner])     HiveProject(ss_item_sk=[$2], ss_net_profit=[$22])     HiveFilter(condition=[IS NOT NULL($2)])       HiveTableScan(table=[[tpcds_text_10, store_sales]], table:alias=[ss])     HiveProject(sr_item_sk=[$2], sr_net_loss=[$19])     HiveFilter(condition=[IS NOT NULL($2)])       HiveTableScan(table=[[tpcds_text_10, store_returns]], table:alias=[sr]) +---------------------------------------------+

Hive复制

Hive支持启动复制和增量复制,用于备份和恢复。

Replication - Apache Hive - Apache Software Foundation

相关推荐
是阿威啊2 小时前
【用户行为归因分析项目】- 【企业级项目开发第三站】模拟DIM层设备、应用数据加载到Hive
数据仓库·hive·hadoop
麦聪聊数据2 小时前
解构“逻辑数据仓库 (LDW)”与数据虚拟化
数据库·数据仓库·sql
小鸡脚来咯4 小时前
Hive SQL与SQL不同处
hive·hadoop·sql
oMcLin4 小时前
Ubuntu 22.04 配置 Apache 反向代理时无法访问后端应用:Nginx 与 Apache 配置冲突排查
nginx·ubuntu·apache
zgl_2005377920 小时前
ZGLanguage 解析SQL数据血缘 之 提取select语句中的源表名
大数据·数据库·c++·数据仓库·sql·数据库开发·etl
宸津-代码粉碎机1 天前
Spring 6.0+Boot 3.0实战避坑全指南:5大类高频问题与解决方案(附代码示例)
java·数据仓库·hive·hadoop·python·技术文档编写
`林中水滴`1 天前
Hive系列:Hive 默认分隔符
hive
xiaoliuliu123451 天前
Apache JMeter 2.9 简单上手教程(附下载包)
jmeter·apache
yumgpkpm1 天前
银行的数据智能平台和Cloudera CDP 7.3(CMP 7.3)的技术对接
数据库·人工智能·hive·hadoop·elasticsearch·数据挖掘·kafka
`林中水滴`1 天前
Hive系列:Hive 配置项详解
hive