自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 五、物理任务生成

经过优化的逻辑算子,被Hive转化成底层计算引擎能运行的任务,这个过程称为物理任务的生成。Hive支持MapReduce、Tez以及Spark三种计算引擎,可以将逻辑算子转换成对应三种计算引擎的物理任务。本文主要介绍Hive将逻辑算子转换成MapReduce作业的过程。5.1 物理任务的表示Hive将算子DAG转换成一系列具有依赖关系的任务,这些任务构成一个DAG图。Hive中使用Task

2016-03-20 16:04:22 3344 4

原创 四 、Hive逻辑优化

Hive生成逻辑算之后,会对逻辑算子进行优化。优化的目的是为了减少不必要的数据处理、消除冗余运算,以到达提高执行效率的目的,这个过程称为逻辑优化。4.1 逻辑优化类型Hive逻辑优化包括以下几点:1) 谓词下推谓词下推指的是将外层HiveQL的过滤表达式提前到内层HiveQL,以达到提前过滤,减少数据的处理量。如语句:selecta.* , b.* from a join b on

2016-03-20 15:55:53 1464

原创 三、 Hive 逻辑算子及其生成(下)

3.3算子DAG的生成   在第一章1.4节我们提到Hive首先将抽象语法树AST转换成查询块(QueryBlock),然后在将QueryBlock转化成算子DAG。3.3.1QueryBlock生成1) QB数据结构QueryBlock数据结构定义在QB类中,QB的主要成员变量如下:HashMap aliasToTabs;HashMap aliasToSubq;HashM

2016-03-20 15:15:20 3062 1

原创 三、 Hive 逻辑算子及其生成(中)

3.2 Hive主要算子功能实现   3.2.1 TS、SEL以及FIL算子的实现   1、TS算子的实现   TS算子(TableScanOperator)在逻辑上表示table扫描功能,实际table数据的读取由底层的计算引擎完成。如在Map-Reduce框架中,table数据的读取由Hadoop提供的InputFormat类完成。TS内部实现仅仅将从底层计算引擎输入的数据输出给子

2016-03-20 14:45:03 2321

原创 三、 Hive 逻辑算子及其生成(上)

前一章本文介绍了Hive如何将HiveQL语言转换成抽象语法树(AST),本章将介绍Hive逻辑算子以及如何将AST转换成逻辑算子DAG图。3.1 什么是逻辑算子   以如下HiveQL语句为例:select* from a where id>100 limit 10   这条语句从表a中取id>100的前10条数据,Hive首先将该语句转换成AST如下图所示:

2016-03-20 14:34:02 2175

原创 二、 Hive语法树的生成

HiveQL是一个非标准的sql语言,实现了sql的大部分规范,同时添加了一些hive独有的特性。Hive使用antlr3定义HiveQL语言。1.1 antlr3简介ANTLR(ANother Tool for Language Recognition)是一款功能强大的语言构建工具,提供了词法分析、语法分析等功能。用户编写语言的词法规则和语法规则,然后通过antlr提供的运行时库将语言转

2016-03-17 09:20:30 9179 3

原创 一、Hive介绍

Hive是一个构建在Hadoop之上的数据仓库,提供类似sql的查询语句HiveQL对数据进行分析处理。Hive将HiveQL语句转换一系列成MapReduce作业并执行。目前,Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两中分布式计算引擎。图1.1为Hive的体系结构。

2016-03-16 09:42:41 1895 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除