3. hive-0.12安装指南

Hive安装部署

(安装会有版本问题 hadoop1.0版本以上的请安装hive-0.90测试

hadoop2.0以上请安装hive-0.12.0或者最新版测试)

hive-0.9.0 下载地址:http://pan.baidu.com/s/1rj6f8

hive-0.12.0下载地址:http://mirrors.hust.edu.cn/apache/hive/hive-0.12.0/

hadoop1.2.1伪分布安装:http://www.cnblogs.com/Jiangzl/p/4198544.html

1.把hive-0.12.0.tar.gz复制到/home/hadoop

2.解压hive-0. 12.0.tar.gz与重命名

#cd /usr/local

#tar -zxvf hive-0. 12.0.tar.gz

#mv hive-0. 12.0 hive

3.修改环境变量

修改/etc/profile文件。

#vi /etc/profile

增加

export HIVE_HOME=/hadoop/hadoop/hive

修改

exportPATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin

保存退出

#source /etc/profile

4.配置hive系统文件

4.1:修改conf目录下的模板文件

l  cd  $HIVE_HOME/conf

l  mv  hive-env.sh.template  hive-env.sh

l  mv hive-default.xml.template  hive-site.xml

4.2.修改$HIVE_HOME/bin的hive-config.sh,增加以下三行

export JAVA_HOME=/usr/local/jdk

export HIVE_HOME=/home/hadoop/hive

export HADOOP_HOME=/home/hadoop/hadoop2

4.3.启动hive

启动hive时候,记得先启动hadoop(因为hive是操作hdfs中的数据)

jps命令查看当前启动的java程序

#hive

4.4.报错—请修改hive-site.xml:(vi编辑下: /auth)

[FatalError] hive-site.xml:2002:16: The element type "value" must beterminated by the matching end-tag "</value>".

2002  <value>auth</auth>

(在2002行第16字符那里: <value>auth</value>)

hive>show tables;

此时还报错:

FAILED:Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.java.lang.RuntimeException: Unable to instantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient

最后将hive-site.xml 里面hive.metastore.schema.verification 的值改为 false后,就没出现错误了。

hive>create table test(idint,name string);

hive>quit;

5.验证创建表是否成功

方法一:观察:#hadoop fs -ls /user/hive

参数:hive.metastore.warehouse.dir

方法二:

http://cloud4:50070    如果配置成功,查看/user/hive就存在

6.Hive的metastore

l  metastore是hive元数据的集中存放地。metastore默认使用内嵌的derby数据库作为存储引擎

l  Derby引擎的缺点:一次只能打开一个会话

l  使用Mysql作为外置存储引擎,多用户同时访问

所以我们通常建议使用mysql,但是需要去配置

6.1.配置MySQL的metastore

6.1.1.上传mysql-connector-java-5.1.10.jar到$HIVE_HOME/lib
6.1.2.登录MYSQL,创建数据库hive

l  #mysql -uroot -padmin

l  mysql>create database hive;

l  mysql>GRANT all ON hive.* TO [email protected]‘%‘ IDENTIFIED BY ‘admin‘;

l  mysql>flush privileges;

l mysql>set globalbinlog_format=‘MIXED‘;   (如果报错就不要管)

6.1.3.把mysql的数据库字符类型改为latin1(alertdatabase)

方法1:手动命令:(此处hive为数据库名)

alter database hive character set latin1

6.1.4.修改$HIVE_HOME/conf/hive-site.xml
 1 <property>
 2          <name>javax.jdo.option.ConnectionURL</name>
 3 //hadoop0那么是hive所在的机子,要么是网关ip  cloud4:本机;192.168.56.1网关ip
 4 如果用hive的机子,也就是本机,需要在linux上安装mysql,看下面补充msql安装流程
 5 不过好像如果是cloud4会show tables出错,改为localhost就好了!!!
 6          <value>jdbc:mysql://hadoop0:3306/hive?createDatabaseIfNotExist=true</value>
 7 </property>
 8 <property>
 9          <name>javax.jdo.option.ConnectionDriverName</name>
10          <value>com.mysql.jdbc.Driver</value>
11 </property>
12 <property>
13          <name>javax.jdo.option.ConnectionUserName</name>
14          <value>root</value>
15 </property>
16 <property>
17          <name>javax.jdo.option.ConnectionPassword</name>
18          <value>admin</value>
19 </property>

7.Hive的运行模式即任务的执行环境

1启动hive 命令行模式:

1:直接输入#/hive/bin/hive的执行程序,

2:或者输入 #hive --service cli

l  分为本地与集群两种

我们可以通过mapred.job.tracker 来指明

设置方式:

hive > SET mapred.job.tracker=local

2.hive验证启动的方法

l  1、hive web界面的(端口号9999) 启动方式

#hive --service hwi &

用于通过浏览器来访问hive

http://hadoop0:9999/hwi/

l  2、hive 远程服务(端口号10000) 启动方式

#hive --service hiveserver &

8.Hive与传统数据库

9.Hive的数据类型

l  基本数据类型

tinyint/smallint/int/bigint

float/double

boolean

string

•       复杂数据类型

Array/Map/Struct

•       没有date/datetime

10.Hive的数据存储:特色

l Hive的数据存储基于Hadoop HDFS

l  Hive没有专门的数据存储格式

l 存储结构主要包括:数据库、文件、表、视图

l  Hive默认可以直接加载文本文件(TextFile),还支持sequence file

l  创建表时,指定Hive数据的列分隔符与行分隔符,Hive即可解析数据

11.Hive的数据模型-数据库

l  类似传统数据库的DataBase

l  默认数据库"default"

使用#hive命令后,不使用hive>use <数据库名>,系统默认的数据库。

可以显式使用hive> use default;

创建一个新库

hive > create database test_dw;

11.1.修改仓库目录:/hive/conf/hive-site.xml

warehouse是在 hive-site.xml 中由 ${hive.metastore.warehouse.dir}指定的数据仓库的目录

我们可以把value修改为:/hive

l  每一个 Table 在 Hive 中都有一个相应的目录存储数据。例如,一个表 test,它在HDFS 中的路径为:/ warehouse/test。

l  所有的 Table 数据(不包括 ExternalTable)都保存在这个目录中。

l  删除表时,元数据与数据都会被删除

l 常用操作

l  创建数据文件t1.dat

l  创建表

l  hive>create table t1 (key string);

l  加载数据

l  hive>load data local inpath ‘/root/inner_table.dat‘ into table t1;

l  查看数据

l  select * from t1

l  select count(*) from t1

l  删除表 drop table t1

时间: 2024-08-05 19:36:54

3. hive-0.12安装指南的相关文章

HIVE 0.11版本的bug

HIVE 0.11版本的bug 两次{{group by}}的bug  https://issues.apache.org/jira/browse/HIVE-5149 SELECT key, COUNT(*) FROM ( SELECT key, value, COUNT( * ) FROM src GROUP BY key, value ) a GROUP BY key; 特点是两次 group by ,外层字段少于内层,2次集合函数.可以把中间的查询做成临时表回避这个bug HIVE 0.1

Hive 0.13 数据类型

hive支持的数据类型路下 数值类型 Numeric Types TINYINT (1字节,数据范围: -128 to 127) SMALLINT (2字节,数据范围: -32,768 to 32,767) INT (4字节,数据范围:-2,147,483,648 to 2,147,483,647) BIGINT (8字节,数据范围: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807) FLOAT (4字节, 单精度浮点数) DOUB

Hive 0.14 + hadoop 2.4.1 环境下的 jdbc连接

本文记录在Hive 0.14 + hadoop 2.4.1 环境下,如何时用 jdbc连接到hive hive 的JDBC驱动还是比较好找的,在hive的包里就有 hive-jdbc-0.14.0-standalone.jar 是一个N合一的包,把它放到buildPath 除了这个包,还需要几个hadoop下的包,最后的buildpah如下图: 用服务模式启动hive,10010是监听的端口号 ? 1 hive --service hiveserver 10010 下面是个示例代码,连接到hiv

CentOS6.8编译安装Nginx1.10.2+MySQL5.7.16+PHP7.0.12

1.    下载 #MySQL下载地址 http://dev.mysql.com/downloads/mysql/ #Nginx下载地址 http://nginx.org/en/download.html #PHP下载地址 http://php.net/downloads.php 使用WinSCP把下载好的压缩包上传到/usr/local/src目录 mysql-5.7.16.tar.gz nginx-1.10.2.tar.gz php-7.0.12.tar.gz 2.    安装 2.1   

Linux 0.12的编译与链接

昨天花了很长时间去编译链接linux 0.12版的kernel,发现在64位ubuntu下,这位兄台的文章写得最全最好,几乎涵盖了我遇到的所有问题,在此记录一下. 编译linux 0.12 链接linux 0.12

Windows64位安装GPU版TensorFlow 0.12,Power Shell下输入:安装Tensorflow的全教程

推荐使用powershell,只需要在cmd指令窗口输入powershell即可 下载64位Python3.5(一定要3.5!!)可以通过Python 3.5 from python.org 或 Python 3.5 from Anaconda 下载并安装Python3.5.2(注意选择正确的操作系统). 具体教程可以查看Python3.5.2百度经验安装,里面有个细节,自动设置环境变量,不能忘 安装VS2015,如果是2013的后面要加个插件,这是后话 为了使用国内镜像加速pip安装,需要如下

Oasys.Alp.v19.2.0.12 + Oasys.CADrebar.v3.2.0.1.Win64

Oasys.Alp.v19.2.0.12 1CD Oasys.CADrebar.v3.2.0.1.Win64 1CD Oasys.Compos.v8.4.3.Win64 1CD Oasys.Frew.v19.2.7 1CD Oasys.MassMotion.Flow.v7.0.5.4.Win64 1CD Oasys.MassMotion.v7.0.5.4.for.Softimage.2015.Win64 1CD Oasys.Pdisp.v19.3.0.4.Win64 1CD Oasys.Pile

Linux 0.12 内核管理存储器

其分段,用分段的机制把进程间的虚拟地址分隔开. 每一个进程都有一张段表LDT.整个系统有一张GDT表.且整个系统仅仅有一个总页表. 其地址翻译过程为: 程序中给出的32位地址(实际上被看做段内偏移地址),再依据代码段寄存器CS中的16位段选择子,可在GDT或LDT中查找对应的段描写叙述符.从段描写叙述符中提取段的基地址,与程序给出的32位地址相加.得到结果为线性地址. 依据此线性地址查找系统页文件夹表,再查二级或是多级页表,终于得到物理地址. 此方式系统仅仅有一个4G的线性地址空间由各进程共享(

《linux 内核完全剖析》编译linux 0.12 内核 Ubuntu 64bits 环境

我×...终于好了,大概3 4个小时吧...各种毛刺问题.终究还是闯过来了.... [email protected]:~/Downloads/linux-0.00-050613/linux-0.00$ make ld -s -x -M head.o  -o system > System.map dd bs=32 if=boot of=Image skip=1 16+0 records in 16+0 records out 512 bytes (512 B) copied, 0.000605