前言:
- 好久没有整理笔记了,都不记得上次更新简书是什么时候了,是时候整理下最近接触的技能了;
- 这篇文章是为了以后个人方便复习和查阅;
- 人不知不觉就会变得懒散,只能这样逼迫自己再学习点东西;
- 工作中在前辈的指导下摸索着一知半解的使用着,自己还是太菜啊,不懂的东西太多
1.Hive是什么?
其实,我也不知道hive到底是什么,查找资料,总结就下面几点:
Apache Hive数据仓库软件提供对存储在分布式中的大型数据集的查询和管理,它本身是建立在Apache Hadoop之上,主要提供以下功能:
(1)它提供了一系列的工具,可用来对数据进行提取/转化/加载(ETL);
(2)是一种可以存储、查询和分析存储在HDFS(或者HBase)中的大规模数据的机制;
(3)查询是通过MapReduce来完成的(并不是所有的查询都需要MapReduce来完成,比如select * from XXX就不需要;
(4)在Hive0.11对类似select a,b from XXX的查询通过配置也可以不通过MapReduce来完成
总结下就是
hive是基于hadoop的数据仓库。
Hive安装指导
HIVE完全分布式集群安装过程(元数据库: MySQL)
有一点需要说明下,Hive默认元数据库不是Mysql存在局限,所以最好使用mysql
允许我盗个图
2.Hive基本操作
Hive sql 语法和sql语法非常相似,我们先看看Hql的基本语法吧
下面是网上大牛整理的资料
Hadoop Hive sql语法详解1-认识hive及DDL操作
Hadoop Hive sql语法详解2-修改表结构
Hadoop Hive sql语法详解3--DML 操作:元数据存储
Hadoop Hive sql语法详解4--DQL 操作:数据查询SQL
Hadoop Hive sql语法详解5--HiveQL与SQL区别
复杂操作
Hive快捷查询:不启用Mapreduce job启用Fetch task三种方式介绍
Hive如何执行文件中的sql语句
Hive四种数据导入方式介绍
Hive中的三种不同的数据导出方式介绍
Hive如何创建索引
3.高级进阶(2017/08/13 更新)
(1) hive与hadoop的关系
(2) hive与传统数据库作对比
方面 | Hive | RDBMS |
---|---|---|
查询语言 | HQL | SQL |
数据存储 | HDFS | Raw Device or Local FS |
数据格式 | 用户定义 | 系统决定 |
数据更新 | 不支持 | 支持 |
执行 | MapReduce | Excutor |
执行延迟 | 高 | 低 |
可扩展性 | 高 | 低 |
处理数据规模 | 大 | 小 |
索引 | 0.8版本后加入位图索引 | 有复杂索引 |
(3) 需要全面了解Hive还是需要大牛的总结--全面了解Hive
- Hive体系结构介绍
- hive实现原理
- hive内部表与外部表区别详细介绍
- HIVE中Join的专题---Join详解
- 让你彻底明白hive数据存储各种模式
- Hive配置文件中配置项的含义详解(收藏版)
- HIVE与传统数据库对比
方便查阅
hive 配置参数说明(收藏版)
支持sql大全(收藏版)
hive 创建/删除/截断 表
hive如何结合hadoop,hbase发挥作用,该如何发挥它的实际意义?
我们来看看下面的问题:
hive为什么与hbase整合
Hive与HBase整合完整指导
hadoop、hbase、hive版本对应关系
上面是与hbase结合使用,那么我们该如何与编程语言向结合,可以参考下面内容:
通过JDBC驱动连接Hive操作实例
Hive:用Java代码通过JDBC连接Hiveserver介绍
4.Hive实战分析(更新于2017-08-20)
从 MapReduce 到 Hive 实战分析
Hive实战开发
你可能会遇到的问题:
hive找不到创建的表了
Hive on Spark解析
hive面试题目:表大概有2T左右,对表数据转换
在使用Hive的过程中,难免会遇到各种错误,这个时候,学会定位错误就显得至关重要了:
hive如何通过设置日志定位错误
大牛分享:hive在腾讯分布式数据库实践分享
最近输出太多,是时候读点书了!