Hive入门学习

前言

  • 好久没有整理笔记了,都不记得上次更新是什么时候了,是时候整理下最近接触的技能了;
  • 这篇文章是为了以后个人方便复习和查阅;
  • 人不知不觉就会变得懒散,只能这样逼迫自己再学习点东西;
  • 工作中在前辈的指导下摸索着一知半解的使用着,自己还是太菜啊,不懂的东西太多

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

允许我盗个图

Hive入门学习_第1张图片
Hadoop家族

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的关系


Hive入门学习_第2张图片
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在腾讯分布式数据库实践分享


最近输出太多,是时候读点书了!

你可能感兴趣的:(Hive入门学习)