美文网首页
Hive介绍及结构设计

Hive介绍及结构设计

作者: 南宫萧言 | 来源:发表于2019-01-07 20:18 被阅读0次

Hive简介:

Hive 是基于 Hadoop 的一个数据仓库工具,实质就是一款基于 HDFS 的 MapReduce 计算框架,对存储在 HDFS 中的数据进行分析和管理

非java编程者对hdfs的数据做mapreduce操作。

Hive 具有 SQL 数据库的外表,但应用场景完全不同,Hive 只适合用来做海量离线数 据统计分析,也就是数据仓库

通过sql语句操作hdfs,底层调用mapreduce。

Hive:数据仓库(历史数据分析,数据积累分析)

Hive:解释器,编译器,优化器等;

Hive运行时,元数据存储在关系型数据库里(MySql等)。

yum,rpm,源码安装,压缩包  -------linux安装软件

具体讲解参考hive

Hive架构:

hive官网:hive

hive架构

Client提交任务到Driver,1.向关系型数据库查询(元数据);2.解释,编译SQL语句,成为jar任务,3.执行mapreduce任务,最后返回结果。

-编译器将一个Hive SQL转化成操作符;

-操作符是Hive的最小的处理单元;

-每个操作符代表HDFS的一个操作或者一道MapReduce作业。

Operator:Select,TableScan,Limit,File Output操作;

Hive采用第三方ANTLR语法分析工具解析hql;

Hive搭建模式

1.Local模式

     此模式连接到一个In-memory的数据库Derby,一般用于Unit Test。

2.单用户模式

此模式通过网络连接到一个数据库,是最经常使用的模式。

3.远程服务器模式/多用户模式

用于非java客户端访问元数据库,在服务器启动MataStroreServer,客户端利用Thrift协议通过MataStroreServer访问元数据库。

多用户模式

下面主要介绍单用户模式和多用户模式的搭建:

搭建准备,MySql的安装:

安装mysql:          yum install -y mysql-server

启动服务:          service mysqld start

chkconfig mysqld on

输入:mysql启动进程;

设置用户访问:

show tables;

select user, host,password from user;

修改mysql权限:

修改权限

flush privileges;

删除多余的会对权限造成影响的数据;

mysql -uroot -p   登录mysql服务器;

单用户模式安装:

1.下载hive的安装包,上传到服务器,tar 解压安装,配置环境变量/etc/profile;

2.这种存储方式需要在本地运行一个mysql服务器,并作如下配置(下面两种使用mysql的方式,需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下)。

配置文件:

hive.metastore.warehouse.dir:/user/hive_remote/warehouse

hive.metastore.local:true

javax.jdo.option.ConnectionURL:jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverName:com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName:hive

javax.jdo.option.ConnectionPassword:password

[ERROR] Terminal initialization failed; falling back tounsupported

java.lang.IncompatibleClassChangeError: Found classjline.Terminal, but interface was expected atjline.TerminalFactory.create(TerminalFactory.java:101)

错误的原因: Hadoop jline版本和hive的jline不一致

hadoop的jline jar包存放位置:HADOOP_HOME/share/hadoop/yarn/lib/下

其中的jline包为:jline-0.9.94.jar(hadoop-2.6.5)

hive的jline jar包存放位置:HIVE_HOME/lib/下

其中的jline包为:jline-2.12.jar(hive-1.2.1)

删除hadoop的jline包,把hive的jline包放进去。

多用户模式安装:

参考链接:多用户模式

使用参考链接:基本使用

相关文章

网友评论

      本文标题:Hive介绍及结构设计

      本文链接:https://www.haomeiwen.com/subject/hffsrqtx.html