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里的临时目录没有设置好。
修改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。 &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><value>{system:Java.io.tmpdir}/system:user.name&lt;/value&gt;&lt;description&gt;LocalscratchspaceforHivejobs&lt;/description&gt;&lt;/property&gt;&lt;property&gt;&lt;name&gt;hive.downloaded.resources.dir&lt;/name&gt;&lt;value&gt;{system:user.name}&lt;/value&gt; &lt;description&gt;Local scratch space for Hive jobs&lt;/description&gt; &lt;/property&gt; &lt;property&gt; &lt;name&gt;hive.downloaded.resources.dir&lt;/name&gt; &lt;value&gt;system:user.name</value><description>LocalscratchspaceforHivejobs</description></property><property><name>hive.downloaded.resources.dir</name><value>{system:java.io.tmpdir}/hive.session.idresources&lt;/value&gt;&lt;description&gt;Temporarylocaldirectoryforaddedresourcesintheremotefilesystem.&lt;/description&gt;&lt;/property&gt;&lt;property&gt;&lt;name&gt;hive.server2.logging.operation.log.location&lt;/name&gt;&lt;value&gt;{hive.session.id}_resources&lt;/value&gt; &lt;description&gt;Temporary local directory for added resources in the remote file system.&lt;/description&gt; &lt;/property&gt; &lt;property&gt; &lt;name&gt;hive.server2.logging.operation.log.location&lt;/name&gt; &lt;value&gt;hive.session.idr​esources</value><description>Temporarylocaldirectoryforaddedresourcesintheremotefilesystem.</description></property><property><name>hive.server2.logging.operation.log.location</name><value>{system:java.io.tmpdir}/system:user.name/operationlogs&lt;/value&gt;&lt;description&gt;Topleveldirectorywhereoperationlogsarestoredifloggingfunctionalityisenabled&lt;/description&gt;&lt;/property&gt;&lt;property&gt;&lt;name&gt;hive.querylog.location&lt;/name&gt;&lt;value&gt;{system:user.name}/operation_logs&lt;/value&gt; &lt;description&gt;Top level directory where operation logs are stored if logging functionality is enabled&lt;/description&gt; &lt;/property&gt; &lt;property&gt; &lt;name&gt;hive.querylog.location&lt;/name&gt; &lt;value&gt;system:user.name/operationl​ogs</value><description>Topleveldirectorywhereoperationlogsarestoredifloggingfunctionalityisenabled</description></property><property><name>hive.querylog.location</name><value>{system:java.io.tmpdir}/${system:user.name}
Location of Hive run time structured log file

②schematool -dbType mysql -initSchema时报错:Schema initialization FAILED! Metastore state would be inconsistent !!
网上教程都是说在文件头部加上mysql的连接配置,但是hive-site.xml.templat中原本是有derby的配置,这样就会被下面的derby配置覆盖,导致初始化失败。方法就是可以将mysql配置放在最下面,或者删除derby的配置。
删除derby的配置产生的metastore_db目录。

③hive命令(如show databases ,show tables),会报出如下错误:Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NET.URISyntaxException: Relative path in absolute URI: system:user.name找到hive−site.xml的&lt;name&gt;hive.exec.local.scratchdir&lt;/name&gt;的值里面的{system:user.name} 找到hive-site.xml的&lt;name&gt;hive.exec.local.scratchdir&lt;/name&gt;的值里面的system:user.name找到hive−site.xml的<name>hive.exec.local.scratchdir</name>的值里面的{system.user.name}改为${user.name}。

Hive应用实例:wordcount
①建数据源文件并上传到hdfs的/user/input目录下
②建数据源表t1:create table t1 (line string);

③装载数据:load data inpath ‘/user/input’ overwrite into table t1;

④编写HiveQL语句实现wordcount算法,建表wct1保存计算结果:
create table wct1 as select word, count(1) as count from (select explode (split (line, ’ ')) as word from t1) w group by word order by word;

⑤查看wordcount计算结果:

学习资料
日志分析_统计每日各时段的的PV、UV
https://www.cnblogs.com/eRrsr/p/6051616.html

Hive学习之路 (一)Hive初识
http://www.cnblogs.com/qingyunzong/articles/8707885.html

Hive学习之路 (二)Hive安装
https://www.cnblogs.com/qingyunzong/p/8708057.html

Hive分区和桶的概念
https://www.cnblogs.com/xiohao/p/6429305.html

hive-4 hql语句对应mapreduce简介
https://blog.csdn.net/iteye_3893/article/details/82611410

深入学习Hive应用场景及架构原理
https://www.cnblogs.com/zimo-jing/p/9028949.html

Hive的三种安装方式(内嵌模式,本地模式远程模式)
https://www.cnblogs.com/tq03/p/5107949.html

centos7 mysql数据库安装和配置
https://www.cnblogs.com/starof/p/4680083.html

Hive学习之路 (一)Hive初识
https://www.cnblogs.com/qingyunzong/p/8707885.html

Hive学习之路 (三)Hive元数据信息对应MySQL数据库表
https://www.cnblogs.com/qingyunzong/p/8710356.html

Hive学习之路(四):Hive内置函数介绍与实现WordCount
https://www.cppentry.com/bencandy.php?fid=117&id=219004

大数据应用技术实验报告六 Hive和MySQL相关推荐

  1. 大数据应用技术实验报告五 NoSQL

    NoSQL数据库Redis在Linux系统下的安装和运维 可参考https://blog.csdn.net/qq_15329947/article/details/87003791 Redis常用命令 ...

  2. 大数据开发技术课程报告(搭建Hadoop完全分布式集群操作集群)

    文章目录 大数据开发技术课程报告内容及要求 一. 项目简介和实验环境 二. 虚拟机的各项准备工作 三. 安装JDK并配置环境变量 四. 安装Hadoop并配置环境变量 五. 配置Hadoop完全分布式 ...

  3. 如何用形象的比喻大数据的技术生态Hadoop、Hive、Spark 之间是什么关系?

    最近我的同学给我发了一篇特别有意思的关于大数据的技术生态Hadoop.Hive.Spark 关系的解读文章.个人觉得非常有意思,通俗易懂,我转载到这里,希望大家一起学习. Luis 大数据 255 人 ...

  4. mongodb 字符串转bson_大数据存储技术选型(六)--Mongodb专题介绍

    之前我曾有过一次mongodb的介绍,但那是年少无知,对mongo认识得不够充分,所以当时那篇专题介绍只是介绍了一个大概的轮廓就草草敷衍了事了.对此我做了深刻的反省与自我批评.接下来,今天就mongo ...

  5. 【大数据】Hadoop实验报告

    文章目录 实验一 熟悉常用的Linux操作和Hadoop操作 1.实验目的 2.实验平台 3.实验内容和要求 实验二 熟悉常用的HDFS操作 1.实验目的 2.实验平台 3.实验步骤 实验三 熟悉常用 ...

  6. 大数据平台安装实验: ZooKeeper、Kafka、Hadoop、Hbase、Hive、Scala、Spark、Storm

    文章目录 实验1:Hadoop大数据平台安装实验 1. 实验目的 2. 实验环境 3. 实验过程 3.1 虚拟机的搭建 3.1.1 安装虚拟机 3.1.2 基本linux命令 3.2 准备工作 3.2 ...

  7. html表单实验结论,web前端开发技术实验报告-实验五

    1.长 春 大 学 20 15 2016学年第 二 学期Web前端开发技术 课程实 验 报 告学 院: 计算机科学技术专 业: 软件工程 班 级: 软件14402 学 号: 姓 名: 王 悦 任课教师 ...

  8. matlab h面分贝方向图,天线技术实验报告

    天线技术实验报告 (24页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 HARBININSTITUTEOFTECHNOLOGY天线技术实 ...

  9. matlab h面分贝方向图,天线技术实验报告.doc

    天线技术实验报告.doc HARBININSTITUTEOFTECHNOLOGY天线技术实验报告姓名班级学号院系电信学院2014年5月实验一天线方向图的测量一.实验目的1.通过实验掌握天线方向图测量的 ...

最新文章

  1. PyQt5 技术篇-设置alignment对齐方式。Qt Designer设置文本对齐方式。居中、左对齐、右对齐、上对齐、下对齐。
  2. nginx 如何处理请求系列1-Nginx安装
  3. Mysql 查询一天中每半小时记录的数量
  4. ASP.NET Core IP 请求频率限制
  5. winshark重要数据结构
  6. 最大素数c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
  7. 想要写好的程序应该远离计算机
  8. 11选5下期算法_双色球 133期预测 132中奖5+1
  9. WEB中的java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  10. No bean named 'xxxxxxx' available--springboot 上线打war包
  11. 数据库SQL语言的使用
  12. 二阶采样matlab程序,Sea-clutter-simulation 海杂波仿真程序,包括单基地雷达和双 的一阶、二阶 matlab 272万源代码下载- www.pudn.com...
  13. MTK LED驱动异常检测步骤
  14. 中国传统文化课程笔记
  15. aec一pc_什么是AEC声学回声消除器?
  16. Unity开发弱数据多人联网游戏(一)
  17. 力扣(66.67)补8.27
  18. 阿里云改名并下载文件,乱码问题解决
  19. 【NOIP模拟】我的天
  20. Matlab 函数atan 函数atan2 的区别

热门文章

  1. electron之坑addon
  2. LPMS-B2 数据采集源码分析
  3. 不同网络下 一台电脑连接另一台电脑的mysql数据库
  4. Day.js 一个轻量级的 JavaScript 时间日期处理库
  5. python内置函数之len()方法
  6. 李开复:搞无人车在电车难题上论争个没完,这样子不行的
  7. ../,./,/的区别
  8. 爬山搜索法c语言代码,搜索算法--爬山法 (代码示例)
  9. 淘宝店铺装修代码大全
  10. varchar可以设置唯一吗_微信可以设置特效主题皮肤了,满屏幕的小爱心,你心动了吗?...