hive配置与wordcount实例

hive的安装与配置
默认环境中jdk已经正常安装,hadoop集群正常启动
MySQL安装
1.1官网下载mysql-server(yum安装)
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
若wget不可用,下载安装wget:yum -y install wget
1.2:解压rpm -ivh mysql-community-release-el7-5.noarch.rpm
1.3:安装yum install mysql-community-server
1.4:重启mysql服务:service mysqld restart (以后开机不需启动mysql)
1.5:进入mysql:mysql -u root
为root用户设置密码root:mysql> set password for ‘root’@‘wll’ =password(‘root’);
以下步骤可选:
配置文件/etc/my.cnf加上编码配置:[mysql] default-character-set =utf8
远程连接设置:
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户:
mysql> grant all privileges on . to root@’ %‘identified by ‘root’;
mysql>flush privileges; 刷新权限
如果是新用户而不是root,则要先新建用户:
mysql>create user ‘username’@’ %’ identified by ‘password’;
hive的安装和配置
2.下载hive安装文件
可以从Apache官网下载安装文件,即 http://mirror.bit.edu.cn/apache/hive/
解压安装文件到指定的文件夹
tar -xvzf apache-hive-2.3.2-bin.tar.gz -C /home/hadoop/apps/
2.1配置相关文件和环境变量
配置hive环境变量 vi /etc/profile
插入hive的配置图
配置完成可输入hive --version 查看版本
配置完成后输入命令检验
修改hive配置文件 /home/hadoop/apps/apache-hive-2.3.2-bin/conf 路径下
2.1配置hive-env.sh
进入/opt/module/hive/conf目录,修改hive-env.sh.template的文件名为hive-env.sh。(可以使用cp或者mv命令)
cp hive-env.sh.template hive-env.sh
修改Hadoop的安装路径
HADOOP_HOME=/opt/module /hadoop-2.7.3
修改Hive的conf目录的路径
export HIVE_CONF_DIR=/opt/module/hive/conf

2.2配置hive-site.xml
进入/opt/module/hive/conf目录,修改default.xml.template的文件名为hive-site.xml。(可以使用cp或者mv命令)
cp hive- default.xml.template hive-site.xml
在最后添加以下属性:

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

jdbc:mysql://bigdata131:3306/hivedb?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore

    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
javax.jdo.option.ConnectionUserName root username to use against metastore database javax.jdo.option.ConnectionPassword root password to use against metastore database hive.metastore.warehouse.dir /user/hive/warehouse location of default database for the warehouse 3.启动hive 3.1启动Hadoop:start-all.sh 3.2初始化Metastore架构:schematool -dbType mysql -initSchema 3.3启动Hive:hive hive> 进入hive shell 3.4创建/删除/修改/查看 数据库、表、视图,向表中装载数据,查询数据等等。 4.常见错误: 启动hive报错:Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D,原因是hive-site.xml里的临时目录没有设置。 解决办法:在hive目录下的conf里的hive-site.xml的最后加入如下代码: system:java.io.tmpdir /root/opt/module/hive-1.2.2/tmp 5.使用Hive函数完成WordCount 1.创建表并将数据导入 在hive shell在输入命令:create table wordcount(line string),表的字段只有一个,就是每行未分割的单词,创建完成后,执行命令:load data local inpath' /home/hadoop/data/testdata' into table wordcount将下面的数据testdata导入: hello world hello hadoop hello spark hello hbase hello hive hello hadoop hello kafka hello flume hello flink hello sqoop hello spark hello hbase hello kafka hello flume hello spark hello hbase

执行命令:select * from wordcount查看数据:
在这里插入图片描述
2.编写SQL句并执行
wordcount表中,每一行就是一个string,所以我们首先需要使用函数split对每行以空格切割,得到一个字符串数组,然后使用函数explode将数组拆开,返回每行一个字符将其命别名为word,对上述结果建立临时表w,最后对表w分组聚合,便完成了WordCount操作,完整SQL语句如下:
select word ,count(1) from (select explode(split(line," ")) as word from wordcount) w group by word,执行结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值