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

相关推荐
涤生大数据7 小时前
Apache Spark 4.0:将大数据分析提升到新的水平
数据分析·spark·apache·数据开发
阿絮~19 小时前
Apache RocketMQ进阶之路阅读笔记和疑问
笔记·apache·rocketmq
无级程序员1 天前
hive2服务启动报错:/tmp/hive on HDFS should be writable(不是chmod 777能解决的)
hive·hadoop·hdfs
rui锐rui2 天前
大数据学习2:HIve
大数据·hive·学习
凌辰揽月2 天前
Servlet学习
hive·学习·servlet
weixin_307779132 天前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
王小王-1232 天前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
陈敬雷-充电了么-CEO兼CTO2 天前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法
桂成林3 天前
Hive UDF 开发实战:MD5 哈希函数实现
hive·hadoop·哈希算法
isNotNullX3 天前
什么是数据分析?常见方法全解析
大数据·数据库·数据仓库·人工智能·数据分析