Hive学习笔记(一) Hive介绍,Hadoop与Hive安装


Hive学习笔记(一)

什么是Hive

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能

  • 构建在Hadoop之上的数据仓库
  • 使用HQL作为查询接口
  • 使用HDFS存储
  • 使用MapReduce计算

本质是:将HQL转化成MapReduce程序

  • 灵活性和扩展性比较好;支持UDF,自定义存储格式等
  • 适合离线数据处理

Hive优点及使用场景

  1. 操作接口采用类SQL语法,提供快速开发的能力(简单,容易上手)。
  2. 避免了写MapReduce,减少开发人员的学习成本。
  3. 统一的元数据管理,可与impala/spark等共享元数据;
  4. 易扩展(HDFS+MapReduce;可以扩展集群规模;支持自定义函数)。
  5. 数据的离线处理。如:日志分析,海量结构化数据离线分析
  6. Hive的执行延迟比较高,因此Hive常用语需要数据分析,且对实时性要求不高的场合。
  7. Hive又是在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟较高。

Hive架构



用户接口

  • CLI(hive shell)
  • JDBC/ODBC(使用java访问hive)
  • WebUI(浏览器访问Hive)

Metastore 元数据

元数据包括:表明、表所属的数据库(默认是default),表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等。
Metastore默认存储在derby数据库中,推荐使用MySQL存储MetaStore。

Hadoop

使用HDFS进行存储,使用MapReduce进行计算

Hadoop安装的三种类型:

  • 单机模式
    此种模式基本不需要配置安装,数据存储在本机上,而非HDFS分布式系统上
  • 伪分布式(测试环境)
    此种模式将数据存储到HDFS系统上,同时MapReduce运行在Yarn系统中,只是只有一个节点,而非多个节点。
  • 分布式(生产环境)
    此种模式为生产环境应用,与伪分布式的主要区别只是有多个节点,配置更加复杂。

Hadoop安装过程中的注意事项

1. 服务器端绑定ip

sudo vi /etc/hosts



2. 创建用户组skedu及用户skadmin,并设置sudo权限

groupadd skedu
user add -g skedu skadmin
passwd skadmin

3. 给新创建的用户sudo权限

vi /etc/sudoers
//找到如下一行,在下面添加即可
.....
root    ALL=(ALL)       ALL
skadmin ALL=(ALL)       ALL          //这一行是添加的

4. 配置ssh无秘钥登录

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

5. 格式化HDFS文件系统

bin/hdfs namenode -format

6. 启动hadoop的HDFS文件系统

sbin/start-dfs.sh

Hive安装的一些重要步骤

初始化metastore默认derby

hive-2.3.9/bin/schematool -initSchema -dbType derby

运行Hive客户端

bin/hive

声明:奋斗小刘|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Hive学习笔记(一) Hive介绍,Hadoop与Hive安装


Make Everyday Count