
大数据之路
文章平均质量分 75
从基础到进阶,从理论到实践,从搬砖到架构
数仓之路
N年大数据开发经验, 数仓老六,欢迎交流
展开
-
Tez 简介
1.1 Tez 是支持 DAG 作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升 DAG 作业的性能。Tez UI界面包括应用详情、DAG有向无环图、Vertices信息、任务详情等信息。1.2 Tez 计算引擎结构更加类似于Spark,但却有所区别,二、Tez UI界面。原创 2023-06-08 16:02:02 · 4427 阅读 · 0 评论 -
hive隐式转换
hive允许的隐式转换原创 2023-05-08 14:20:31 · 272 阅读 · 0 评论 -
hive 字段类型变更级联
踩坑:数仓的分区表,由于需求需要进行字段类型变更、新增字段等。例如要把int类型的字段改为bigint,直接执行的以下语句:出现的问题:之后的分区数据可以正常的显示,历史数据查出来的数据为0或者null,无论insert overwrite重新导数据、把有问题的分区数据删掉都不能正常显示。原创 2023-03-06 18:27:46 · 806 阅读 · 0 评论 -
ORC存储结构
ORC是列式存储,有多种文件压缩方式,并且有着很高的压缩比。文件是可切分(Split)的。因此,在Hive中使用ORC作为表的文件存储格式,不仅节省HDFS存储资源,查询任务的输入数据量减少,使用的MapTask也就减少了。提供了多种索引,row group index、bloom filter index。ORC可以支持复杂的数据结构(比如Map等)转载 2022-10-31 10:44:05 · 1541 阅读 · 0 评论 -
ORC数据切分策略
当ETL策略生效时,driver读取file footer等信息,若其footer(用于描述整个文件的基本信息、表结构信息、行数、各个字段的统计信息以及各个Stripe的信息)较大,可能会导致driver端OOM,因此这类表的读取建议使用BI策略。对于一些较小的尤其有数据倾斜的表(这里的数据倾斜指大量stripe存储于少数文件中),建议使用ETL策略。混合模式读取所有文件的页脚,如果文件少于预期的mapper计数,如果平均文件大小小于默认的HDFS块大小,切换到每个文件生成1个split。原创 2022-10-31 10:45:03 · 745 阅读 · 0 评论 -
Hive SQL编译过程之语法树的生成
HiveQL是一个非标准的sql语言,实现了sql的大部分规范,同时添加了一些hive独有的特性。Hive使用antlr3定义HiveQL语言。 1.1 antlr3简介 ANTLR(ANother Tool for Language Recognition)是一款功能强大的语言构建工具,提供了词法分析、语法分析等功能。用户编写语言的词法规则和语法规则,然后通过antlr提供的运行时库将语言转换成抽象语法树。antlr支持java、c、c++、Python等多种语言。Antlr3是antlr的第..转载 2020-12-15 20:12:49 · 1815 阅读 · 1 评论 -
Hive SQL必看!!!编译过程详解
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的 咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有了比较深入的理解。对这一过程的理解不仅帮助我们解决了 一些Hive的bug,也有利于我们优化Hive SQL.转载 2020-10-19 15:01:08 · 834 阅读 · 0 评论