> 本文结构采用宏观着眼,微观入手,从整体到细节的方式剖析 Hive SQL 底层原理。第一节先介绍 Hive 底层的整体执行流程,然后第二节介绍执行流程中的 SQL 编译成 MapReduce 的过程,第三节剖析 SQL 编译成 MapReduce 的具体实现原理。### 一、HiveHive是什么?Hive 是数据仓库工具,再具体点就是一个 SQL 解析引擎,因为它即不负责存储数据,也不负责计算数据,只负责解析 SQL,记录元数据。Hive直接访问存储在 HDFS 中或者 HBase ...
> 企业级数仓架构设计与选型的时候需要从开发的便利性、生态、解耦程度、性能、 安全这几个纬度思考。本文作者:惊帆 来自于数据平台 EMR 团队# 前言Apache Hive 经过多年的发展,目前基本已经成了业界构建超大规... MapReduce 和 HBase,形成了早期 Hadoop 的三大利器。然而这三大利器更聚焦在异构数据的信息提取处理上,没有提供对结构化数据很友好的类似 SQL 语法的分析入口,同时在编程态的支撑也不够友好,只有 Map 和 Reduce ...
易扩展,容错率高## HDFS 在字节跳动的发展字节跳动已经应用 HDFS 非常长的时间了。经历了 9 年的发展,目前已直接支持了十多种数据平台,间接支持了上百种业务发展。从集群规模和数据量来说,HDFS 平台在公司内部已经成长为总数十万台级别服务器的大平台,支持了 10 EB 级别的数据量。**当前在字节跳动,** **HDFS** **承载的主要业务如下:**- Hive,HBase,日志服务,Kafka 数据存储 - Yarn,Flink 的计算框架平台数据 -...
会产生日报表和月报表。由于 Kylin 是预计算模型,需要事先构建维度模型,调度任务,然后持久化到 HBase 中。这套历史框架给客户带来了许多困扰:1. Cube 定义成本高:增加一个 Cube 数据的成本较高,需要配置各种任务;1. 运维成本高:Kylin 依赖组件多,需要管理 Hive/Spark,HBase,调度平台的可用性;1. 存储膨胀:因为所有维度的数据都要生成,最全的场景会形成 2^n 的维度,造成在 HBase 和 Hive 中的存储资源占用特别多;1. 计算...
DataX 是开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。DataX 作为数据同步框架,它将不同数据源的同步抽象为从源头数据源读取数据的 Reader 插件,以及向目标端写入数据的 Writer 插件,使用 DataX 框架可以支持多种数据源类型的数据互通同步工作。详见:https://github.com/alibaba/DataX本文将为您介绍在火山引擎大...
会产生日报表和月报表。由于 Kylin 是预计算模型,需要事先构建维度模型,调度任务,然后持久化到 HBase 中。这套历史框架给客户带来了许多困扰:1. Cube 定义成本高:增加一个 Cube 数据的成本较高,需要配置各种任务;1. 运维成本高:Kylin 依赖组件多,需要管理 Hive/Spark,HBase,调度平台的可用性;1. 存储膨胀:因为所有维度的数据都要生成,最全的场景会形成 2^n 的维度,造成在 HBase 和 Hive 中的存储资源占用特别多;1. 计算...
最后结合工作需要和个人经历,我制定了一套适合自己的学习路线:开始学习Linux命令和系统基本概念。然后分别学习Java、Python以及Scala这几种在大数据开发中常用的编程语言。然后着重学习Hadoop核心技术如HDFS和MapReduce;接触数据库Hive后,学习数据流技术Kafka和分布式协调服务Zookeeper。深入研究Yarn和求执行引擎Spark。此外还了解其他技术如HBase、Sqoop等。同时学习计算机网络知识和操作系统原理。后面再系统学习关系数据库M...
环境信息 系统环境版本 环境 OS veLinux(Debian 10兼容版) Python2 2.7.16 Python3 3.7.3 Java ByteOpenJDK 1.8.0_302 应用程序版本 Hadoop集群 HBase集群 Flume 1.9.0 - OpenLDAP 2.4.58 2.4.58 Ranger 1.2.0 - ZooKeeper 3.7.0 3.7.0 Flink 1.15.1 - HDFS 2.10.2 2.10.2 MapReduce2 2.10.2 - YARN 2.10.2 - Airflow 2.4.2 - Hive 2.3.9 - Hue 4.9.0 - Knox 1.5.0 - Presto 0.267 - Trino 392 - Spark 2.4.8 - Sqoop 1.4.7 - Te...
环境信息 系统环境版本 环境 OS veLinux(Debian 10兼容版) 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 1.5.0 1.5.0 Openldap 2.5.13 2.5.13 Zookeeper 3.7.0 3.7.0 Ossa 1.0.0 - HBase 1.6.0 1.6.0 Flink 1.16.1 - Presto 0.280 - Trino 412 - DolphinSchedule...
环境信息 系统环境版本 环境 OS veLinux(Debian 10兼容版) Python2 2.7.16 Python3 3.7.3 Java ByteOpenJDK 1.8.0_352 应用程序版本 Hadoop集群 HBase集群 Flume 1.9.0 - OpenLDAP 2.4.58 2.4.58 Ranger 1.2.0 - ZooKeeper 3.7.0 3.7.0 Flink 1.15.1 - HDFS 2.10.2 2.10.2 MapReduce2 2.10.2 - YARN 2.10.2 - Airflow 2.4.2 - Hive 2.3.9 - Hue 4.9.0 - Knox 1.5.0 - Presto 0.267 - Trino 392 - Spark 2.4.8 - Sqoop 1.4.7 - Te...
HBase 的必选组件;Impala、Kudu、ClickHouse、Doris、StarRocks 等服务的核心指标接入监控和告警管理;HBase 中的表支持 Snappy 压缩;Hive,组件行为与开源保持一致,不再支持中文的表字段名;Doris,版本升级至1.1.5;Hudi,修复开源社区版本存在潜在数据丢失等问题。 - **新增** **EMR** **软件** **栈** **2.1.1:** Impala、Kudu、ClickHouse、Doris 等服务的核心组件接入告警管理;为 Oozie 系统用户赋予 HDFS 全路径、Hive ...
会产生日报表和月报表。由于 Kylin 是预计算模型,需要事先构建维度模型,调度任务,然后持久化到 HBase 中。这套历史框架给客户带来了许多困扰:1. Cube 定义成本高:增加一个 Cube 数据的成本较高,需要配置各种任务;1. 运维成本高:Kylin 依赖组件多,需要管理 Hive/Spark,HBase,调度平台的可用性;1. 存储膨胀:因为所有维度的数据都要生成,最全的场景会形成 2^n 的维度,造成在 HBase 和 Hive 中的存储资源占用特别多;1. 计算...
会产生日报表和月报表。由于 Kylin 是预计算模型,需要事先构建维度模型,调度任务,然后持久化到 HBase 中。这套历史框架给客户带来了许多困扰:- Cube 定义成本高:增加一个 Cube 数据的成本较高,需要配置各种任务;- 运维成本高:Kylin 依赖组件多,需要管理 Hive/Spark,HBase,调度平台的可用性;- 存储膨胀:因为所有维度的数据都要生成,最全的场景会形成 2^n 的维度,造成在 HBase 和 Hive 中的存储资源占用特别多;- 计算延迟大:用...