hive值乘以0.01保留一位小数_Hive(2.1.0)配置过程

本文详细介绍了如何在Hive(2.1.0)中配置环境,包括解压Hive,设置环境变量,修改配置文件如hive-site.xml和hive-env.sh,初始化元数据库并解决权限问题。此外,还展示了创建数据表、验证表存在以及检查MySQL元数据的过程。
摘要由CSDN通过智能技术生成

1、解压hive到hadoop的source目录下

2、配置环境变量

export HIVE_HOME=/usr/local/hadoop/hive

export HIVE_CONF_DIR=$HIVE_HOME/conf

export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib

export PATH=$PATH:$HIVE_HOME/bin

1)更改用户权限。在终端中输入如下命令:

sudo chown -R hadoop:hadoop hive

2)进入hive的conf目录

复制hive-default.xml.template文件两次,将文件名分别更改为,hive-default.xml和hive-site.xml,hive-default.xml为hive默认配置文件,不需要修改,hive-site.xml为用户自定义配置文件,在启动hive时用户自定义修改的部分会覆盖默认配置。

3)在hive的目录下,新建warehouse、tmp、log文件夹。

此时修改hive-site.xml中的对应路径。

hive.metastore.warehouse.dir

修改为warehouse文件夹路径(例如:/usr/local/hadoop/hive/warehouse)

location of default database for the warehouse

hive.querylog.location

修改为log文件夹的路径(例如:/usr/local/hadoop/hive/log)

Location of Hive run time structured log file

hive.downloaded.resources.dir

修改为tmp文件夹的地址(例如:/usr/local/hadoop/hive/tmp

Temporary local directory for added resources in the remote file system.

4)进入hive的conf目录

复制hive-env.sh.template更改名字为hive-env.sh

修改hive-env.sh的内容。

将export HADOOP_HEAPSIZE=1024前面的‘#’去掉,当然可以根据自己的环境对这个默认的1024进行优化;

将export HADOOP_HOME前面的‘#’号去掉,并让它指向所安装hadoop的目录,例如:/usr/local/hadoop

export HIVE_CONF_DIR、export HIVE_AUX_JARS_PATH同理,配置相应路径。

将export HIVE_CONF_DIR=/usr/local/hadoop/hive/conf,并且把‘#’号去掉;

将export HIVE_AUX_JARS_PATH=/usr/local/hadoop/hive/lib,并且把‘#’号去掉。

4、初始化元数据库

本例中将初始化元数据为远程mysql(同时替换内置derby元数据库为mysql)

未初始化数据库会报如下错误:

Exception in thread “main” java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType …) to create the schema.

运行./schematool -initSchema -dbType ...命令初始化元数据

-dbType后跟的相关参可选:derby|mysql|postgres|oracle

derby数据库为hive的内置数据库,不需要修改配置文件,如果使用mysql,需要修改配置文件:

1)新建mysql数据库hivedb,并建立用户hivedb,设置密码

2)修改hive-site.xml中原本为derby的配置项

修改内容如下:

javax.jdo.option.ConnectionURL

jdbc:mysql://远程mysql服务器IP地址:3306/hivedb

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

hivedb(mysql用户名)

javax.jdo.option.ConnectionPassword

hivedb(mysql用户密码)

3)因为上面配置了com.mysql.jdbc.Driver,所以需要引入mysql-connector-java-5.1.27.jar,将jar包放入hive目录下的lib文件夹中。

4)在进入hive目录下的bin目录,运行命令:./schematool -initSchema -dbType mysql

运行成功,结果如下:

5)然后输入hive,启动hive,出现输入框即启动成功。

6)进一步验证:

1)在Hive上建立数据表

hive> CREATE TABLE test(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

2)在hive输入框中输入 show tables 命令,查看是否显示表test。

3)从 MySQL 数据库上查看元数据信息,从mysql的终端输入命令

select * fromtbls

查看是否显示表test的相关信息,显示,即建表成功。

5、启动报错:

Logging initialized using configuration in jar:file:/usr/local/hadoop/hive/lib/hive-common-2.1.0.jar!/hive-log4j2.properties Async: true

Exception in thread "main" java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwxr-xr-x

权限问题,解决方案:

输入命令:hadoop fs -chmod -R 777 /tmp/hive

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值