一、Hadoop-Hive-基础理论
1. Hive-产生背景
- MapReduce编程的不便性
- 传统RDBMS人员的需要
2. Hive-概述
-
什么是Hive
官方定义:The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL.
- 释义:Apache Hive™数据仓库软件有助于使用SQL读取,写入和管理存储在分布式存储中的大型数据集。
总结:
- 由Facebook开源,用于解决海量结构化日志的数据统计问题。
- 构建在hadoop之上的数据仓库。
- Hive提供的SQL查询语句:HQL
- 底层支持多种不同的执行引擎
- 1.x 默认MR
- 2.x 默认Spark
- Tez
-
为什么使用Hive
- 简单、容易上手。
- 为超大数据集设计的计算/扩展能力。
- 提供了统一的元数据管理。
-
Hive在Hadoop生态系统中的位置
-
Hive体系结构
- client:shell、thrift/jdbc
- Metastore:元数据信息
- RDBMS:存储Metastore信息
-
Hive部署架构
- Hive不涉及到集群的概念,因为只是一个客户端而已。
- 对应的RDBM需要具备主从备份
-
Hive与RDBM的区别
区别 Hive RDBMS 查询语言 HQL SQL 数据库的存储位置 HDFS Raw Device 或者Local FS 数据格式 用户定义 系统决定 数据更新 不支持 支持 索引 无 有 执行 MapReduce Executor 执行延迟 高 低 可扩展性 高 低 数据规模 大 小