大数据应用技术实验报告六 Hive和MySQL

该博客介绍了如何使用MapReduce实现HiveQL中的Join、Group By和Distinct操作,并详细阐述了MySQL的安装过程,包括配置、远程连接设置以及卸载。此外,还讲解了Hive的安装、配置,包括环境变量设置、hive-site.xml配置以及解决启动问题。同时提到了MySQL Connector/J的安装和Hive应用实例,如wordcount操作。文章提供了丰富的学习资源链接。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
MapReduce 实现 HiveQL 常见操作
Join的实现原理:
select u.name, o.orderid from order o join user u on o.uid = u.uid;
在这里插入图片描述
MapReduce 实现 HiveQL 常见操作
Group By的实现原理:
select rank, isonline, count(*) from city group by rank, isonline;
在这里插入图片描述
MapReduce 实现 HiveQL 常见操作
Distinct的实现原理:
select dealid, count(distinct uid) num from order group by dealid;
在这里插入图片描述

MySQL安装
①官网下载mysql-server(yum安装)
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
若wget不可用,下载安装wget:yum -y install wget
②解压rpm -ivh mysql-community-release-el7-5.noarch.rpm
③安装yum install mysql-community-server
④重启mysql服务:service mysqld restart (以后开机不需启动mysql)
⑤进入mysql:mysql -u root
为root用户设置密码root:mysql> set password for ‘root’@‘localhost’ =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’;

卸载MySQL
重新安装mysql之前需彻底清除mysql。
①查看是否有安装的mysql:rpm -qa |grep -i mysql
②依次卸载mysql各安装包:rpm -e --nodeps 安装包名字
③查看残留的mysql目录或文件:find / -name mysql 、 whereis mysql。
④依次删除查询出的各目录:rm -rf 目录名
⑤删除mysql 配置文件:/usr/my.cnf、 /root/.mysql_sercret。

注:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
root用户密码错误

Hive安装与配置
①下载压缩包
官网下载地址:http://mirror.bit.edu.cn/apache/hive/
选择apache-hive-2.3.4-bin.tar.gz,在Windows里面下载。

②将压缩包从Windows传输到Linux当前目录下¬¬
SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

③解压
解压安装到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)
修改解压目录名为hive。

④修改环境变量
修改etc/profile文件,添加HIVE_HOME安装路径。
Source命令更新etc/profile文件,使其生效。

⑤配置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

⑥配置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建库、建表默认的hdfs目录为/user/hive/warehouse

hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse

MySQL Connector/J安装
①下载压缩包
官网下载地址:http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/
mysql-connector-java-5.1.47.tar.gz

②将压缩包从Windows传输到Linux当前目录下¬¬
SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

③解压
解压到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)

④拷贝驱动包
将驱动包mysql-connector-java-5.1.47-bin.jar复制到/opt/module/hive/lib目录中。

启动hive
①启动Hadoop:start-all.sh
②初始化Metastore架构:schematool -dbType mysql -initSchema
③启动Hive:hive
hive> 进入hive shell
④创建/删除/修改/查看 数据库、表、视图,向表中装载数据,查询数据等等。

注:
①启动hive报错:Exception in thread “main” java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: KaTeX parse error: Expected '}', got 'EOF' at end of input: …a.io.tmpdir%7D/%7Bsystem:user.name%7D,原因是hive-site.xml里的临时目录没有设置好。
修改 s y s t e m : J a v a . i o . t m p d i r 为 自 己 创 建 的 临 时 目 录 / o p t / m o d u l e / h i v e / t m p 。 &lt; p r o p e r t y &gt; &lt; n a m e &gt; H i v e . e x e c . l o c a l . s c r a t c h d i r &lt; / n a m e &gt; &lt; v a l u e &gt; {system:Java.io.tmpdir}为自己创建的临时目录/opt/module/hive/tmp。 &lt;property&gt; &lt;name&gt;Hive.exec.local.scratchdir&lt;/name&gt; &lt;value&gt; system:Java.io.tmpdir/opt/module/hive/tmp<property><name>Hive.exec.local.scratchdir</name><

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值