0


Apache Hive

#大数据实训第三天总结#

Apache Hive概述

功能

将SQL语句翻译成MapReduce程序,为用户提供分布式SQL计算的能力。

优势

操作接口采用类SQL语法,简单、容易上手;

底层执行MapReduce,能完成分布式海量数据的SQL处理。

Hive核心架构

• 元数据管理:称之为Metastore服务,推荐远程模式
• SQL解析器(Driver驱动程序),完成SQL解析、执行优化、代码提交等功能
• 用户接口:提供用户和Hive交互的功能

Metastore元数据存储

作用是:客户端连接metastore服务,metastore再去连接MySQL等数据库来存取元数据。

内嵌模式:优点是解压hive安装包并启动即可使用;缺点是不适用于生产环境,资源利用率低,元数据不能共享。

本地模式:优点是可以单独使用外部的数据库,元数据共享;缺点是相对浪费资源,metastore嵌入到了hive进程中,每启动一次hive服务,都内置启动了一个metastore。

远程模式:优点是可以使用外部库(如mysql)共享元数据,metastore可以单独启动和配置;缺点是其他依赖hive的软件需要通过Metastore访问hive。

Hive客户端

Hive的客户端体系如下

启动

启动metastore服务

[root@node1 apache-hive-3.1.2-bin]# nohup ./hive --service metastore &

启动hiveserver2服务

[root@node1 apache-hive-3.1.2-bin]# nohup ./hive --service hiveserver2 &

Hive基本概念与原理

数据仓库与数据库的区别:

OLTP(联机事务处理)面向用户交易,关注响应时间、数据安全性、完整性和并发用户数。OLAP(联机分析处理)面向专业分析,针对历史数据进行分析,支持管理决策。

数据仓库特征:面向主题、集成、非易失、时变。

ETL和ELT

ETL: 先从数据源池中抽取数据,数据保存在临时暂存数据库中(ODS)。然后执行转换操作,将数据结构化并转换为适合目标数据仓库系统的形式,然后将结构化数据加载到数据仓库中进行分析。
ELT: 从数据源中抽取后立即加载。没有专门的临时数据库(ODS),这意味着数据会立即加载到单一的集中存储库中,数据在数据仓库系统中直接进行转换,然后进行分析。

数据表操作

Hive表的类型?

• 内部表(MANAGED_TABLE)
分区表
分桶表
• 外部表(EXTERNAL_TABLE)
分区表
分桶表

内部表区别?

删除内部表:直接删除元数据(metadata)及存储数据
删除外部表:仅仅是删除元数据(表的信息),不会删除数据本身

创建内部表语法?

create table [if not exists] 内部表名(
字段名 字段类型 , ...
)...;

内部表类型?

MANAGED_TABLE

删除内部表效果?

直接删除元数据(metadata)及存储数据

创建外部表语法?

create external table [if not exists] 内部表名(
字段名 字段类型 , ...
)...;

外部表类型?

EXTERNAL_TABLE

删除外部表效果?

仅仅是删除元数据(表的信息),不会删除数据本身

Hive的默认字段分隔符?

\001(^A)是一种特殊字符,是ASCII值
在Notepad++文本编辑器中是显示为SOH的。

标签: apache hive hadoop

本文转载自: https://blog.csdn.net/2401_84573255/article/details/138172302
版权归原作者 君一一一一 所有, 如有侵权,请联系我们删除。

“Apache Hive”的评论:

还没有评论