Hive中几个非常重要的问题

本文详细探讨了Hive的元数据存储选项、HiveSQL到MapReduce的转换过程,介绍了split、coalesce和collect_list函数,对比了内部表和外部表,以及TextFile、SequenceFile、RCfile和ORCfile的差异。此外,还涵盖了内置函数、用户自定义函数、动态分区和大数据项目的数据仓库分层设计,以及业务看板构建流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Hive 有哪些方式保存元数据,各有哪些优缺点

     (1).DerBy数据库:默认自带

        优点:使用简单,不需要额外的配置。 

        缺点:只有一个客户端,多个客户访问会报错。

     (2).使用MySql数据库存储

        优点:单独的进程,可以在同一台机器上运行,也可以在远程机器上运行。

        缺点:使用时需要配置,其中包括copy驱动包,执行初始化指令等。

2、Hive的HiveSQL转换为MapReduce的过程?

        SQL Parser:Antlr定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象 语法树AST Tree;

        Semantic Analyzer:遍历AST Tree,抽象出查询的基本组成单元QueryBlock;

        Logical plan:遍历QueryBlock,翻译为执行操作树OperatorTree;

        Logical plan optimizer: 逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量;

        Physical plan:遍历OperatorTree,翻译为MapReduce任务;

        Logical plan optimizer:物理层优化器进行MapReduce任务的变换,生成最终的执行计划;

3、写出hive中split、coalesce及collect_list函数的用法

        split:字符串分割函数,格式为split(字符串,'分隔

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值