hive按中文拼音排序_hive 搭建文档 大数据入门

45fcea5d1580edb88ad0c9b31bcfc4ad.png

hive简介

Hive是 基于Hadoop 的一个数据仓库 工具 ,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

8ae43334ffd5de18e3c809fbd780ce29.png

搭建hive的目的

直接使用Hadoop是可以达成目的的,但困难重重(最起码也会繁琐一些)。引入hive在Hadoop平台上开始我们的表演,仅使用类似SQL语法的HiveSQL就可以实现对MapReduce任务的转化,让门槛降低一些。

目标读者

大数据入门新手学习使用,对Linux操作熟练度较低,第一次搭建hive
⚠️ 本文默认的叙述角度是在 Windows or macOS上操作Linux (CentOS 7)虚拟机。本文默许你的Linux操作仅刚入门,所以相对而言叙述上较繁琐请见谅。

⚠️本文中的文本编辑器 vi 其实是vim。虽然我撰写地很用心,但本文还没有经过严格校验。

先决条件

  • 一般搭建在Linux上(学习场景下个人推荐使用虚拟机环境,瞎鼓捣也放心,不排除本身就主力使用Linux的玩家),简单的Linux操作基础:Linux基础入门操作[传送门坑位预留位置 ]
  • Linux上需要的支持条件:
    • 可联网
    • MySQL
    • Hadoop
    • 非必须- 未来的进阶玩法:docker集成部署(个人建议初学者学习一遍非docker版的安装)
  • 自己日常使用的电脑需要的工具软件:(Windows or macOS or Linux均可 )
    • 强烈建议你拥有远程登陆SSH软件(Xshell、SecureCRT等,我使用的是SecureCRT)
    • 可联网
    • 非必须- 有数据库连接软件可以方便些(Navicat、DataGrip等)
  • 独一无二的你和本文的一个赞(排在最后可不代表最不重要噢)

让我们开始吧!

  1. 检查网络环境,我选择让虚拟机去ping一个网站来检查。
    打开Linux后在输入:
ping www.baidu.com 

一般它会一直执行下去,你可以按 ctrl 和 c 组合键来中断它的运行

如果你看到类似于如下图片即可,若显示timeout,则需要先解决网络联通的问题。

9829128b322f6d147ba3f5629c46c588.png

2.SecureCRT/Xshell 登陆到该虚拟机

我们可以拿IP地址作为它的标识来定义是哪一台机子。

在Linux虚拟机上输入

ip addr

你的显示可以和我不同,有一处关键的地方需要你记下来:

c2c8b0487439bf1acb548ca351fa5927.png

如上我这台Linux机器的IP地址即为:192.168.0.226
你需要记下来你这台机器的 IP 地址(我们使用了动态获取IP地址DHCP的话重新开机可能会发生变化)
接下来是远程登陆SSH软件的使用,请参考自己选用的SSH软件使用方法连接上这台机器。

3. 确认你的Hadoop运行正常

关于Hadoop的安装搭建和使用非本文核心(内容较多,此处不表),请移步Hadoop安装教程[坑位预留]

我们把主战场从虚拟机转移到SSH软件上操作,虚拟机需要一直开着,在SSH上操作和直接本机上操作更加便捷。
从此处以后都是在SSH软件上对那部供你把玩的Linux进行操作。
检查hadoop进程是否在运行

ps -ef | grep hadoop

如果你能看到一堆hadoop字眼的输出,大概率你的hadoop已运行起来了。

- 我的朋友在第一次执行hive时出现这个错误:Cannot find hadoop installation

444bea9630c3bfa28c8b778d0cb0d461.png

为避免/解决这个问题,你可以直接将 Hadoop加入你的 PATH
任意路径下输入命令:

vi /etc/profile

往文本适当位置找一个空行加入文本:等号之后是你的hadoop安装路径

export HADOOP_HOME=/opt/hadoop-2.9.2 

退出文本编辑后输入命令后刷新

source /etc/profile 

3.获取需要的Hive


在浏览器上打开下面的地址即可开始下载,当然也支持迅雷下载。

https://mirror.bit.edu.cn/apache/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz

下载好之后需要把这个hive压缩包传给Linux
具体的方法有许多,例如通过SecureCRT的SFTP传过去:

6ae8479e092ead172faa44230eba4817.png

5884f19d98ce329fe62f6dd3c47cab44.png

在这个界面直接把下载好的hive压缩包拖进去就会传给Linux的当前用户的宿主目录

切到你保存的hive压缩包所在的路径,我切到当前用户的宿主目录是 ~
输入命令:

tar -xzvf apache-hive-2.3.0-bin.tar.gz

送解压完成后的文件到你喜欢的位置,也可以同时改名,我选择的位置是/opt/hive
请用脑袋瓜记住这个老地方的路径

mv apache-hive-2.3.0-bin /opt/hive

6aec626be5b4a520db188f3bbefc21c5.png

4.配置你的hive

请不要简单地复制粘贴以满足你机器的情况,你需要看清楚我的提示。

  • 把Hive加入PATH

在任意路径下输入命令:

vi /etc/profile

在文本中适当位置加入:

export HIVE_HOME=/opt/hive  #等号后面是你的hive放的位置
#此处为注释:找到原本就有的export PATH=....
#在后面加上 :HIVE_HOME/bin
#例如:      export PATH=$PATH:$HIVE_HOME

362c24bc719dbd4ff3e2e65f257216af.png

退出文本编辑后

source /etc/profile #让你刚刚的设置生效
  • 配置hive-site.xml文件(一个你可能还没有的文件)

这个文件归宿是hive目录下的conf文件夹下
以我的设置为例是 :/opt/hive/conf

5e8d1a4bb2d9b2dc7bcdd9bed1c6f71f.png

其实有很多模版文件(文件名.template)你可以对其进行配置后更名为hive-site.xml。你感兴趣的可以进去看看,但是配置有点点多。
你可以在这个目录下新建一个文件:

vi hive-site.xml

文件内需要粘贴进去不少东西:

关于Copy你可能会把一大段格式整齐的文本丢进去后显示地乱七八糟,而且不是因为你的ssh软件篇幅(文字太多换行了)的缘故,那你可以试一下在vi里按Esc键进入命令模式后输入 : :set paste 后回车进入文本编辑按 i 进入插入文本后在粘贴进去可能会有改观

5f1c44c0d48d71afb4c55af20afd9e10.png

你需要在这个文件里粘贴进去如下内容

但有一些地方需要你进行定制化修改,请你认真看中文部分并修改好后再粘贴进去。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
<!-- 一般而言机器的hosts文件有localhost的映射下面这一行不需要修改,把localhost改为你的ip地址也可以 -->
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
<!--下面这一行低版本MySql如5.7版本可以照抄高版本如8.0版本要修改为com.mysql.cj.jdbc.Driver-->
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>此处的中文改为你的一个数据库用户名</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>此处的中文改为对应的用户密码</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

5.导入对应的MySql版本的Connector jar包

关于版本兼容性问题:

维维达:如果你使用的MySql为5.7,你可以使用5.1.40的connector如果MySql为8.0以上,你可以使用8.0.20以上的connector。

在官网选择版本下载mysql-connector-java-xxx):

https://downloads.mysql.com/archives/c-j/

cef5f5a59ebcda072fdb43797f57bc70.png

我下载好了8.0.20版本的zip包并解压缩了

8a7d50d7a5ab2e941c98d826a46fd635.png

如图进入第一个解压后的文件

d9b6eb23c461fb50af5a03e3515c1c0f.png

将红框框选住的jar包传到linux里的一个特定的地方(这次,你没得选择)
以我自己为例我的hive在/opt/hive,则我需要把这个红框文件送到
/opt/hive/lib

没有配图了噢,lib文件夹里太多东西了。

6.快接近尾声了

尝试运行hive,因为我们在第4步中把hive加入PATH,所以我们是可以在任意路径下直接敲hive命令的,如果你发现敲了hive说命令没找到那么你得再去把hive配置到PATH里看看。

hive

658e7e9f3a2a3c32934a26b941e1c266.png

如果你你发现如上图一样的显示则代表你的hive-site.xml、MySql、Hadoop、jdk工作正常。如果你发现了有报Error,需要再检查一下问题在哪里。

你发现光标闪烁的前缀发生了更改:
变成了 hive>
对此不用紧张,你只是进到了hive程序里并且供你执行hive的相关命令,现在你可以在此处先输入

exit;

稍等片刻即可退出hive命令界面。

7.让Hive跑起来

我们需要先进行初始化,在这个过程hive会去连接你的MySql,并且对数据库进行新建、配置hive schema,幸运地,如果你的配置没问题这些都不用你操心。

切换到你的hive所在路径下的bin文件夹下

cd /opt/hive/bin

22e9bc9b5e24c18bb50129cd4ce6311c.png

如图你可以看到schematool 这位朋友(工具人)在这里等我们,在这里输入命令:

schematool -dbType mysql -initSchema

让它按照我们的配置文件(hive-site.xml)进行数据库mysql初始化,你可能会看到如下图的显示,但不一定相同,其中WARN对于你而言,可以先别太放在心上,但其实再完善一下配置文件可以解决(图片来源于我的朋友)。

6832524a32ff7345369cbc960e60b3f7.png

如果你的输出许久停不下来,可以按ctrl+c中断它,然后根据它的提示寻找问题的根源。衷心希望你能看到在最后它的输出停了下来,而且在最末尾你可以看到 :schemaTool completed!

如果你有数据库连接软件你可以清楚地看到多了一个schema,且里面有很多的table则更加证实了hive完成了mysql的初始化,这意味着你的hive可以正常工作了。

35da44e51a432a3c43ecbf42bcd362a0.png

你可以再次进入hive命令模式再次验证:

在任意路径下输入命令

hive

进入hive命令模式输入命令

show databases;

84943c5d8a4513f67eea1f4af51ebe73.png

恭喜你,开始你的Hive之旅吧

结束语

这是我的第一篇技术博客,也是第一篇知乎文章,我本身的Linux很早一起学习过一学期,许久之后再接触到大数据的应用时已经很生疏了,很多概念都在这一次环境搭建中温习了一遍,也看了很多前辈的文章,帮助到我的朋友解决了一些小问题,借此机会开始自己的博客记录生涯,权当留给自己做笔记用,也希望能够帮助到和我一样的初学者。本文是我个人撰写,学艺不精难免有错漏和概念偏失的地方,请发现错误的同学给我提宝贵建议, 帮助我进步。感谢您的阅览,知乎小透明期待你的点赞噢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值