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入门学习》 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入门学习》 hive与hadoop的关系图解

(2) hive与传统数据库作对比

方面HiveRDBMS
查询语言HQLSQL
数据存储HDFSRaw Device or Local FS
数据格式用户定义系统决定
数据更新不支持支持
执行MapReduceExcutor
执行延迟
可扩展性
处理数据规模
索引0.8版本后加入位图索引有复杂索引

(3) 需要全面了解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在腾讯分布式数据库实践分享

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

    原文作者:极客汪
    原文地址: https://www.jianshu.com/p/73326e066226
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞