> 本文结构采用宏观着眼,微观入手,从整体到细节的方式剖析 Hive SQL 底层原理。第一节先介绍 Hive 底层的整体执行流程,然后第二节介绍执行流程中的 SQL 编译成 MapReduce 的过程,第三节剖析 SQL 编译成 MapReduce 的具体实现原理。### 一、HiveHive是什么?Hive 是数据仓库工具,再具体点就是一个 SQL 解析引擎,因为它即不负责存储数据,也不负责计算数据,只负责解析 SQL,记录元数据。Hive直接访问存储在 HDFS 中或者 HBase ...
Hive 表之上。但是,在建设实时数仓的时候,同一份表,会使用不同的方式进行存储。比如常见的情况下,明细数据或者汇总数据都会存在 Kafka 里面,但是像城市、渠道等维度信息需要借助 Hbase,mysql 或者其他 KV 存储等数... 这个目标 Topic 会导入到 OLAP 引擎,供给多个不同的服务,包括移动版服务,大屏服务,指标看板服务等。这个方案有三个方面的优势,分别是稳定性、时效性和准确性。首先是稳定性。松耦合可以简单理解为当数据源 A 的...
数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。为了解决这个问题,我们设计了 Krypton(HSAP),系统的设计目标主要有几个点:...
数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。为了解决这个问题,我们设计了 Krypton(HSAP),系统的设计目标主要有几个点:...
Hive 表之上。但是,在建设实时数仓的时候,同一份表,会使用不同的方式进行存储。比如常见的情况下,明细数据或者汇总数据都会存在 Kafka 里面,但是像城市、渠道等维度信息需要借助 Hbase,mysql 或者其他 KV 存储等数... 这个目标 Topic 会导入到 OLAP 引擎,供给多个不同的服务,包括移动版服务,大屏服务,指标看板服务等。这个方案有三个方面的优势,分别是稳定性、时效性和准确性。首先是稳定性。松耦合可以简单理解为当数据源 A 的...
Python2 2.7.16 Python3 3.7.3 Java ByteOpenJDK 1.8.0_352 应用程序版本 Hadoop集群 HBase集群 HDFS 2.10.2 2.10.2 YARN 2.10.2 2.10.2 MapReduce2 2.10.2 2.10.2 Hive 2.3.9 - Spark 2.4.8 - Tez 0.10.1 - Knox... Spark Thrift Server 2.4.8 基于HiveServer2提供的Thrift服务。 spark_client 2.4.8 Spark命令行客户端。 livy_server 0.8.0 提供REST接口来与Spark交互的服务。 sqoop 1.4.7 提供数据库与HDFS导入导出功能。 ice...
HBase或任何提供Hadoop InputFormat的数据集。 2.1 创建RDD示例:通过集合来创建RDD val data = Array(1, 2, 3, 4, 5)val distData = sc.parallelize(data)通过外部数据集构建RDD val distFile = sc.textFile("data... 5.1 数据库操作5.1.1 创建数据库 0: jdbc:hive2://emr-master-1:10005> create database db_demo;+---------+ Result +---------++---------+No rows selected (0.285 seconds)5.1.2 查看数据库信息 0: jdbc:hiv...
HBase ✅ ✅ ✅ 大数据存储 HDFS ✅ ✅ 大数据存储 Hive(on HDFS) ✅ ✅ ✅ 大数据存储 Hive(on TOS) ✅ ✅ ✅ ✅ 大数据存储 StarRocks ✅ ✅ ✅ ✅ 大数据存储 Doris ✅ ✅ ✅ 大数据存储 MaxCompute ✅ ✅ 大数据存储 Kudu ✅ ✅ ✔️ 大数据存储 CloudFS ✅ ✅ MPP数据库 ClickHouse ✅ ✅ ✅ MPP数据库 ByteHouse CE ✅ ✅ ✅ ✅ ...
环境信息 系统环境版本 环境 OS veLinux(Debian 10兼容版) Python2 2.7.16 Python3 3.10.13 Java ByteOpenJDK 1.8.0_352 应用程序版本 Hadoop集群 Flink集群 Kafka集群 HBase集群 StarRocks集群 ClickHouse集群 Op... 在用户管理模块通过IAM用户导入方式导入用户时,修复Ranger中同步的用户名异常问题。 【组件】在管控页面上,对Hive组件服务参数中的元数据库密码进行加密展示。 组件版本 下面列出了 EMR 和此版本一起安装的组件。...
配置 BMQ 数据源 配置 ByteHouse 企业版 数据源 配置 ByteHouse 云数仓版 数据源 配置 ClickHouse 数据源 配置 CloudFS 数据源 配置 DataSail 数据源 配置 Doris 数据源 配置 Elasticsearch 数据源 配置 FTP/SFTP 数据源 配置 GaussDB 数据源 配置 GBase8S 数据源 配置 Greenplum 数据源 配置 HBase 数据源 配置 HDFS 数据源 配置 Hive 数据源 配置 Kafka 数据源 配置 Kudu 数据源 配置 LarkSheet 数据源 配置 LAS 数据源 配置...
3.3.4 - 3.3.4 - - - MapReduce2 3.3.4 3.3.4 - 3.3.4 - - - YARN 3.3.4 3.3.4 - 3.3.4 - - - Airflow 2.4.2 - - - - - - Hive 3.1.3 - - - - - - Hue 4.11.0 - - - - - - Kafka - - 3.2.4 - - - - Knox 1.5.0 1.5.0 1.5.0 1.5.0 - - 1.5.0 Presto 0.280 - - - - - - Trino 412 - - - - - - Spark 3.3.3 - - - - - - Sqoop 1.4.7 - - - - - - Tez 0.10.2 - - - - - - Iceberg 1.2.0 - - - - - - Hudi 0.12.2 - - - - - - HBase 2...
数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。为了解决这个问题,我们设计了 Krypton(HSAP),系统的设计目标主要有几个点:...
3.3.4 - 3.3.4 - - - MapReduce2 3.3.4 3.3.4 - 3.3.4 - - - YARN 3.3.4 3.3.4 - 3.3.4 - - - Airflow 2.4.2 - - - - - - Hive 3.1.3 - - - - - - Hue 4.11.0 - - - - - - Kafka - - 3.2.4 - - - - Knox 1.5.0 1.5.0 1.5.0 1.5.0 - - 1.5.0 Presto 0.280 - - - - - - Trino 412 - - - - - - Spark 3.3.3 - - - - - - Sqoop 1.4.7 - - - - - - Tez 0.10.2 - - - - - - Iceberg 1.2.0 - - - - - - Hudi 0.12.2 - - - - - - HBase 2...