hive的安装与简单使用

hive安装

hive镜像:

http://mirror.bit.edu.cn/apache/hive/

https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

1.解压、添加环境变量

把apache-hive-2.3.6-bin.tar.gz上传到linux的/opt/目录下,并解压。

[[email protected] opt]# tar -zxvf ./ apache-hive-2.3.6-bin.tar.gz    #解压文件到当前/opt目录

[[email protected] opt]# mv ./apache-hive-2.3.6-bin ./hive   #将文件夹名改为hive

添加环境变量:

[[email protected] opt]#  vi ~/.bash_profile

添加如下代码:

export HIVE_HOME=/opt/hive

export PATH=$HIVE_HOME/bin:$HIVE_HOME/sbin:$PATH

source ~/.bash_profile  #立即生效

2.修改配置文件

在/opt/hive/confg/目录下新建一个文件名称为 hive-site.xml。

[[email protected] conf]# vi ./hive-site.xml

内容如下:

<configuration>

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse</value>

</property>

<property>

<name>datanucleus.schema.autoCreateAll</name>

<value>true</value>

<description>creates necessary schema on a startup if one doesn‘t exist. set this to false, after creating it once</description>

</property>

<property>

<name>hive.metastore.local</name>

<value>false</value>

<description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description>

</property>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://master:3306/[email protected];useSSL=false</value>

<description>JDBC connect string for a JDBC metastore</description>

</property>

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.jdbc.Driver</value>

<description>Driver class name for a JDBC metastore</description>

</property>

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>root</value>

<description>Username to use against metastore database</description>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword </name>

<value>[email protected]</value>

</property>

<property>

<name>hive.metastore.schema.verification</name>

<value>false</value>

</property>

<property>

<name>datanucleus.readOnlyDatastore</name>

<value>false</value>

</property>

<property>

<name>datanucleus.fixedDatastore</name>

<value>false</value>

</property>

<property>

<name>datanucleus.autoCreateSchema</name>

<value>true</value>

</property>

<property>

<name>datanucleus.autoCreateTables</name>

<value>true</value>

</property>

<property>

<name>datanucleus.autoCreateColumns</name>

<value>true</value>

</property>

</configuration>

3.配置hive-env.sh

[[email protected] conf]# cp hive-env.sh.template  hive-env.sh

[[email protected] conf]# vi hive-env.sh

添加如下内容:

HADOOP_HOME=/opt/hadoop   # 配置 HAOOP_HOME 目录
export HIVE_CONF_DIR=/opt/hive/conf  # 配置 Hive 配置目录信息

3.添加mysql驱动

使用 Xftp 复制 mysql-connector-java-5.1.46.jar JAVA 驱动包到
hive/lib下面

创建目录,与前面配置目录对应

[[email protected] conf]# hadoop fs -mkdir -p /user/hive/warehouse

4.启动hive

启动hadoop

cd $HADOOP_HOME

./start-all.sh

启动metastore服务:一般默认会自动该服务

[[email protected] ~]# hive --service metastore
&

[1] 6286

启动hive客户端

hive

5.hive简单使用

以数据源chengdu.txt为例,数据如下:

大数据分析开发工程师|成都|8K-15K|3-5年|本科

双休大数据销售高提成|成都|8K-10K|3-5年|中专

无责3K+双休高提成+大数据|成都|6K-12K|不限|学历不限

大数据分析专员|成都|6.5K-12K|1-3年|大专

大数据高级工程师|成都-金牛区|10K-15K|3-5年|本科

高级Java工程师(架构、大数据)|成都-天府新区|25K-40K|3-5年|本科

大数据架构师|成都-高新区|20K-30K|5-10年|本科

大数据安全研发工程师|成都-高新区|15K-20K|1-3年|硕士

大数据软件开发工程师|成都-高新区|10K-15K|不限|本科

大数据架构师|成都-高新区|20K-30K|5-10年|本科

大数据开发工程师|成都-高新区|10K-15K|不限|学历不限

大数据工程师|成都-高新区|10K-15K|3-5年|本科

大数据架构师初级|成都-高新区|6K-10K|1-3年|本科

大数据架构师|成都-高新区|15K-25K|5-10年|本科

大数据架构师|成都|15K-25K|5-10年|本科

大数据架构师|成都|12K-22K|3-5年|本科  ……

1:创建表:与数据源字段对应

hive> create table tb_chengdu(

> occupation string,

> adress string,

> salary string,

> work_exp string,

> education string

> )row format delimited
fields terminated by ‘|‘;      ##注意分割符

OK

Time taken: 1.784 seconds

hive>

hive> show tables;

OK

tb_chengdu

2:加载数据chengdu.tx

hive> load data local inpath ‘/opt/data/chengdu.txt‘ into table
tb_chengdu;  ##数据在mater本地,并非hdfs上

Loading data to table default.tb_chengdu

OK

Time taken: 5.205 seconds

3:查询前五条大数据相关的职位、薪水、工作经验、学历等字段

hive> select occupation,salary,work_exp,education from tb_chengdu
where occupation like ‘%大数据%‘ limit 5;

OK

大数据分析开发工程师         8K-15K      3-5年       本科

双休大数据销售高提成         8K-10K      3-5年       中专

无责3K+双休高提成+大数据        6K-12K      不限         学历不限

大数据分析专员     6.5K-12K  1-3年       大专

大数据高级工程师         10K-15K   3-5年       本科

Time taken: 4.175 seconds, Fetched: 5 row(s)

hive的使用说明

可以把结构化的数据文件映射成一张数据库表。

学生信息

张三|190908|男|大数据18-1

李四|190907|女|大数据18-1

元数据Hive Metasore

Metasore:就是Hive元数据集中存储的地方。

Hive默认用Derby数据库存储元数据,只能允许一个用户访问。用于测试。

使用mysql作为外置(远程)数据存储引擎。可以多用户同时访问。

其中常用类型如表1所示。

表1 常用数据类型


类型


名称


描述


基本类型


整型


分4个子类,分别是TINYINT、SMALLINT、INT、BIGINT 。常用的是INT


浮点型


分FLOAT(单精度浮点数)和DOUBLE(双精度浮点数)


布尔型


TRUE、FALSE


小数


DECIMAL


字符串


VARCHAR、CHAR、string


日期和时间


DATE、Timestamp


空值


NULL


复合类型


Arrays


数组


Structs


包含多个键值对


Maps


键值对

表类型

Hive的数据表分四类,分别是:内部表、外部表、分区表和桶表。每种表都有各自的特点,这里简要介绍如下:

(1) 内部表:由Hive自身管理,默认情况下创建的都是内部表。内部表数据存储位置默认存储在HDFS的/user/hive/warehouse路径下,可以通过由hive-site.xml文件中hive.metastore.warehouse.dir节点指定其它目录。当删除内部表时,相关元数据和HDFS上的数据也随之删除。

(2) 外部表:创建时需要指定external参数。外部表数据的存储位置由用户指定。删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除。

(3) 分区表:根据分区字段和分区值在HDFS上创建数据分类目录。上传的数据会根据分类存放到不同的目录下。

(4) 桶表:指定数据分桶的个数,上传数据时根据键的hash值均匀的存到不同的桶中。分桶是将数据拆分成小块,存到各自的桶,分区是将数据分类存到各自的目录。

附件:

1:hive安装问题集

https://blog.csdn.net/l1028386804/article/details/51566262   ##无法初始化数据源的问题

https://blog.csdn.net/gaoganghua/article/details/80621670
 ##数据库编码修改为labtin1

原文地址:https://www.cnblogs.com/hemomo/p/12271614.html

时间: 2024-10-04 12:04:34

hive的安装与简单使用的相关文章

基于MySQL元数据的Hive的安装和简单测试

引言: Hive是一种强大的数据仓库查询语言,类似SQL,本文将介绍如何搭建Hive的开发测试环境. 1. 什么是Hive? hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析. 2.  按照Hive的准备条件 2.1  Hadoop集

基于MySQL元数据的Hive的安装和简单測试

引言: Hive是一种强大的数据仓库查询语言,类似SQL,本文将介绍怎样搭建Hive的开发測试环境. 1. 什么是Hive? hive是基于Hadoop的一个数据仓库工具,能够将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,能够将sql语句转换为MapReduce任务进行执行. 其长处是学习成本低,能够通过类SQL语句高速实现简单的MapReduce统计.不必开发专门的MapReduce应用,十分适合数据仓库的统计分析. 2.  依照Hive的准备条件 2.1  Hadoop集

大数据(MapReduce的编程细节及其Hive的安装,简单操作)

大数据课程第五天 MapReduce编程细节分析 MapReduce中,Reduce可以没有 (纯数据的清洗,不用Reduce)  job.setNumReduceTasks(0); 设置多个Reduce // 默认在MapReduce中 Reduce的数量是1 job.setNumReduceTasks(3);?//为什么Reduce的数量可以设置为多个内存角度  并行角度 ?//如果Reduce数量多个话,那么生成结果也是多个独立的文件,放置在同一个目录下 Partition 分区 分区的作

Hadoop系列之Hive(数据仓库)安装配置

Hadoop系列之Hive(数据仓库)安装配置1.在NameNode安装  cd /root/soft  tar zxvf apache-hive-0.13.1-bin.tar.gz   mv apache-hive-0.13.1-bin /usr/local/hadoop/hive2. 配置环境变量(每个节点都需要增加) 打开/etc/profile #添加以下内容: export HIVE_HOME=/usr/local/hadoop/hive export PATH=$HIVE_HOME/

Hive的安装部署全过程详细版

首先先简单介绍下hive: Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并可以使用类似SQL的方式来对数据文件进行读写以及管理.这套Hive SQL 简称HQL.Hive的执行引擎可以是MR.Spark.Tez. 核心架构:   Hive官网地址 http://hive.apache.org/ 下载地址 http://archive.apache.org/dist/hive/ hive的安装部署 Hive常用的安装分三种 (注意:Hive会自动监测Had

python requests的安装与简单运用

requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码. 我也看了下requests的文档,确实很简单,适合我这种懒人.下面就是一些简单指南. 插播个好消息!刚看到requests有了中文翻译版,建议英文不好的看看,内容也比我的博客好多了,具体链接是:http://cn

saltstack安装和简单配置(一)

saltstack 安装和简单配置 在安装前,写了好多废话,都被我删除了,下面就开始搞吧. 环境: master:10.70.36.110 minion:10.70.36.103 一.安装: 现在centos下的yum源内有最新的salt-master源码包,安装的话,直接     yum -y install salt-master   #服务端         yum -y install salt-minion   #客户端 要使用yum安装,必须配置好epel源,可参考:        

Redis安装及简单测试

题目链接:11645 - Bits 题意:给定一个数字n,要求0-n的二进制形式下,连续11的个数. 思路:和 UVA 11038 这题类似,枚举中间,然后处理两边的情况. 不过本题最大的答案会超过longlong,要用高精度,不过借鉴http://www.cnblogs.com/TO-Asia/p/3214706.html这个人的方法,直接用两个数字来保存一个数字,这样能保存到2个longlong的长度,就足够存放这题的答案了. 代码: #include <stdio.h> #include

HIve的安装和使用

1.Hive1.1 在hadoop生态圈中属于数据仓库的角色.他能够管理hadoop中的数据,同时可以查询hadoop中的数据. 本质上讲,hive是一个SQL解析引擎.Hive可以把SQL查询转换为MapReduce中的job来运行.     hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表.字段转换为HDFS中的文件(夹)以及文件中的列.     这套映射工具称之为metastore,一般存放在derby.mysql中.1.2 hive在hdfs中的