Ubuntu kylin优麒麟下配置Hive环境

Hive简介

什么是Hive

hive是基于Hadoop的一个数据仓储工具,可以将结构化的数据文件映射为一张数据表,并提供SQL查询功能,可以将SQL语句转化为MapReduce任务进行执行。hive是基于Hadoop的一个数据仓储工具,可以将结构化的数据文件映射为一张数据表,并提供SQL查询功能,可以将SQL语句转化为MapReduce任务进行执行。

Hive的优点

学习成本年低,可以通过类SQL语句快速实现简单的MapReduce统计计算,不必开发专门的MapReduce,十分适合数据仓储的统计与分析。

Hive的缺点

虽然用类SQL简化了操作,但是实际上还是在hdfs上调用了MapReduce,这样的话,效率还是有所降低的。

Hive数据仓储与数据库的区别

Hive:数据仓储

Hive:解释器、编译器、优化器等。

Hive:运行时,元数据存储在关系型数据库里面。

数据仓储主要用来保存数据,对数据进行分析计算,一次写入,多次读取,不能修改,不能删除单条数据,除非把整个文件删除。我们用的修改其实是覆盖,先把整个文件下载下来,修改后重新上传。

Hive的主要功能可以将一条数据转换为MapReduce,Hive依赖于HDFS和Yarn。

Hive架构

用户接口:包括CLI,JDBC/ODBC,web UI

元数据存储,通常是存储在关系型数据库中mysql,derby中

解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。

Hive的真实数据(源数据)存储在HDFS中,大部分的查询、计算由MapReduce完成(包含*的查询,比如select * from tbl不会生成MapRedcue任务)。

Hive与传统数据库进行比较

查询语言HQLSQL

数据存储位置

HDFS

本地FS

数据格式

用户定义

系统决定

数据更新

不支持

支持

索引

新版本有,但弱

执行

MapReduce

Executor

执行延迟

可扩展性

数据规模

Hive 中没有定义专门的数据格式,数据格式可以由用户指定,用户定义数据格式需要指定三个属性:列分隔符(通常为空格、”\t”、”\x001″)、行分隔符 (”\n”)以及读取文件数据的方法(Hive 中默认有三个文件格式 TextFile,SequenceFile 以及 RCFile)。由于在加载数据的过程中,不需要从用用户数据格式到 Hive 定义的数据格式的转换,因此,Hive 在加载的过程中不会对数据本身进行任何修改,而只是将数据内容复制或者移动到相应的 HDFS 目录中。而在数据库中,不同的数据库有不同的存储引擎,定义了自己的数据格式。所有数据都会按照一定的组织存储,因此,数据库加载数据的过程会比较耗时。

环境配置

1、下载Hive安装包

2、将hive文件上传到HADOOP集群,并解压

tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local

3、配置环境变量,编辑/etc/profile

vim /etc/profile

#set hive envexport HIVE_HOME=/usr/local/hive

export PATH=${HIVE_HOME}/bin:$PATH

#让环境变量生效

source /etc/profile

4、修改hive配置文件

进入配置文件的目录

cd /usr/local/hive/conf/

修改hive-env.sh文件(如果没有就新建)

cp hive-env.sh.template hive-env.sh

vim /hive-env.sh

将以下内容写入到hive-env.sh文件中

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export HADOOP_HOME=/usr/local/hadoop

export HIVE_HOME=/usr/local/hive

修改log4j文件(如果没有就新建)

cp hive-log4j.properties.template hive-log4j.properties

配置远程登录模式

vim hive-site.xml

将以下信息写入到hive-site.xml文件中

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

hive

username to use against metastore database

javax.jdo.option.ConnectionPassword

hive

password to use against metastore database

安装mysql

安装mysql并配置hive数据库及权限

安装mysql数据库及客户端

yum install mysql-server

yum install mysql

servicemysqld start

配置hive元数据库

mysql-u root -p

create database hivedb;

对hive元数据库进行赋权,开放远程连接,开放localhost连接

grant all privileges on *.* to root@"%" identified by "root" with grant option;

grant all privileges on *.* tshoo root@"localhost" identified by "root" with grant option;

6、运行hive命令即可启动hive

hive

优麒麟mysql_Ubuntu kylin优麒麟下配置Hive环境相关推荐

  1. Ubuntu kylin优麒麟下配置Hadoop环境

    Ubuntu kylin优麒麟下配置Hadoop环境 JDK目录 cd /usr/lib/jvm/java-8-openjdk-amd64 Hadoop目录 cd /usr/local/hadoop ...

  2. linux c 下信号量 windows下event_windows和linux下配置jdk环境

    一 在linux 下配置jdk 环境 ① 在官网下载安装包,这里如何下载安装包就不一一叙述,下载安装包完成后,使用rz命令上传至linux中.提前在linux中建立一个文件夹 mkdir /usr/l ...

  3. AS下配置OpenCV环境

    AS下配置OpenCV环境 1.下载OpenCV4Android安装包,本实例中使用OpenCV3.1.解压后问价目录如下: apk:OpenCV_3.1.0_Manager_3.10安装包,Andr ...

  4. linux 卸载ava,linux下配置ava环境变量.doc

    linux下配置ava环境变量 Linux下配置JAVA运行环境: 一:配置Linux和Windows共享文件夹 在windows系统下建立文件夹 "ltw" 点add按扭进行配置 ...

  5. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于"QT + OpenCV + MinGW在windows下配置开发环境"着实让人头疼,单次配置时间相当长,也十分不容 ...

  6. ubuntu 14.04 java_Ubuntu14.04下配置Java环境

    Java环境配置网上已经有很多资料了,不过大多不适合初学者,Linux菜鸟更是不知所措了...Ubuntu14.04下配置Java环境,具体方案如下: Oracle官网上下载"jdk-8-l ...

  7. linux php和java环境变量配置_Linux下配置Java环境变量

    一般来说,我们都会把Java安装到 /usr/local 目录 或者 /opt 目录下.这里假设java安装包已解压在了 /opt下,具体目录为:/opt/java8/java1.8.0_45目录(注 ...

  8. Windows下配置PHP环境

    Windows下配置PHP环境 首先要下载如下软件,推荐到官网下载 最流行的HTTP服务器软件之一.快速.可靠.可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源 ...

  9. JAVA——jdk8的下载与安装,win10下配置JDK环境变量

    JAVA--jdk8的下载与安装,win10下配置JDK环境变量 JDK下载和安装 下载JDK 安装JDK JDK环境变量配置(win10下配置JDK8) 配置步骤 检验JDK配置是否成功 JDK下载 ...

最新文章

  1. instagram api java_如何在没有用户交互的情况下获得instagram access_token(新api)?...
  2. GC分析工具使用-gceacy分析堆栈
  3. C++多小球非对心弹性碰撞(HGE引擎)
  4. 马赛克,克星,真来了!
  5. MySQL高级 - 常用工具 - mysql
  6. leetcode 547. Number of Provinces | 547. 省份数量(图的邻接矩阵 DFS)
  7. for循环中取出最大最小 累加_从零开始学Python - 第006课:循环结构
  8. 唯一约束 mysql
  9. 转一篇好文,虽然争议颇多,还是觉得有必要转一下看看 来自博客园
  10. mooc java_中国大学moocJava程序设计答案大全
  11. Gartner发布2011年SIEM市场分析报告(幻方图)
  12. 论SVGA直播礼物特效对直播平台的重要性
  13. 基于秃鹰搜索算法的无线传感器网络三维覆盖优化
  14. NBA不可能被破的十个记录
  15. 学 C 语言,最经典的书有这样几本
  16. 【原创】华为ICS Lite 批量下载,不限数量,突破200个下载限制,几千个文件批量下载。
  17. java跳转页面后再跳回前一个页面_js中实现页面跳转(返回前一页、后一页)
  18. 如何两个电脑共享文件实现多人编辑_excel怎么实现多人共同编辑一个文档
  19. 在电脑上如何录制精彩视频
  20. CSDN格式字体颜色入门

热门文章

  1. AI上推荐 之 AFM与DIN模型(当推荐系统遇上了注意力机制)
  2. android中如何保存对象集合中,如何序列化对象并将其保存到Android中的文件?
  3. 全球及中国便携式蓝牙音箱行业研究及十四五规划分析报告
  4. 影视处理计算机配置,影视后期制作需要什么样的电脑配置
  5. Linux 远程连接
  6. 【Android】更换头像的实现
  7. 892A Greed
  8. 学习难度最高的五大编程语言,Java排第3,Python竟然都不能上榜
  9. css零到一基础教程009:CSS HSL 颜色
  10. P6560 [SBCOI2020] 时光的流逝 (博弈,反向建图,拓扑排序