【Hive】安装配置及导入Hdfs数据

这篇具有很好参考价值的文章主要介绍了【Hive】安装配置及导入Hdfs数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Hive】安装配置及导入Hdfs数据

一、写在前面💕

大家好!我是初心,很高兴再次和大家见面。

今天跟大家分享的文章是 Hive的安装以及导入Hdfs的数据到Hive中 ,希望能帮助到大家!本篇文章收录于 初心 的 大数据 专栏。

🏠 个人主页:初心%个人主页
🧑 个人简介:大家好,我是初心,和大家共同努力
💕欢迎大家:这里是CSDN,我记录知识的地方,喜欢的话请三连,有问题请私信😘

写作背景:接着上篇我们说到将 Mysql 中的数据通过 Sqoop 导入到 Hdfs 中去,本次我们将实现将 Hdfs 中的数据导入到 Hive 中。

二、Hive的安装与配置✨

2.1 Hive简介

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

【Hive】安装配置及导入Hdfs数据

  • 产生背景

在Hadoop中,可以简单的概括一下内容:

HDFS: 海量数据存储
MapReduce: 海量数据的分析与计算
Yarn: 集群资源的管理和作业调度

其中MapReduce处理大数据会 面临的问题 有:

MR开发难度大,学习成本高
HDFS文件没有字段名、数据类型,不方便进行数据的管理
使用MR的框架开发,项目周期长,成本高

  • Hive为了解决以上问题而产生。

简单总结:Hive是一个将SQL转换为MR任务的工具

  • 数据仓库相关概念

1. 是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合
2. 目的:构建面向分析的、集成的数据集合,为企业提供决策支持
3. 数据仓库本身不产生数据,数据来源于外部
4. 存储了大量数据

2.2 上传与解压

我们使用Xshell加Xftp将Hive的安装包上传到 /opt/software 目录下:

【Hive】安装配置及导入Hdfs数据

进入到该上传的目录:

cd /opt/software

解压Hive:

tar -xzvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/

进入到module目录下:

cd /opt/module

重命名文件:

mv apache-hive-3.1.2-bin/ hive

2.3 拷贝MySQL驱动

我们这里使用的MySQL驱动是 mysql-connector-java-5.1.49.jar 与当前Hive版本相匹配。

同理将mysql-connector-java-5.1.49.jar上传,不过这里上传到 hive 的lib目录下。

【Hive】安装配置及导入Hdfs数据

这里大家肯定有疑问,为什么要拷贝MySQL驱动?

因为我们这里使用MySQL作为存储元数据的数据库,所以需要把连接MySQL的jar包放入或链接到$HIVE_HOME/lib目录下。如果你奇思妙想,换成其他数据库也是可以的。

2.4 hive-site.xml文件

进入到 hive 的conf目录:

cd /opt/module/hive/conf/

查看当前文件夹下内容会发现没有hive-site.xml文件,不要慌!这里我们选择新建即可:

vim hive-site.xml

将以下文件内容拷贝到文本编辑器中(因为还有要修改的地方,我会以 注释 的形式说明),修改好后再复制到 hive-site.xml 中去:

<configuration>
<!--jdbc连接url,将url中的主机名hadoop改成自己的主机名或者IP-->

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop102:3307/hive?createDatabaseIfNotExist=true</value> 
<description>JDBC connect string for a JDBC metastore</description> 
</property> 

<!--jdbc驱动类的名字-->

<property> 
<name>javax.jdo.option.ConnectionDriverName</name> 
<value>com.mysql.jdbc.Driver</value> 
<description>Driver class name for a JDBC metastore</description> 
</property> 

<!--连接MySQL的用户名-->

<property> 
<name>javax.jdo.option.ConnectionUserName</name> 
<value>root</value> 
<description>username to use against metastore database</description> 
</property> 

<!--连接MySQL的密码(密码改成自己的数据库root用户密码)-->

<property> 
<name>javax.jdo.option.ConnectionPassword</name> 
<value>sky</value> 
<description>password to use against metastore database</description> 
</property>

<!--当参数为None时,任何登录的用户都拥有超级用户权限-->

<property>
    <name>hive.server2.authentication</name>
    <value>NONE</value>
</property>

<!--配置hiveserver2连接的主机(hadoop102改成自己的)-->

<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>hadoop102</value>
</property>

<!--配置hiveserver2连接的主机的端口号-->

<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
</property>
</configuration>

2.5 启动hive

修改好配置文件后,我们就可以启动 Hive 了!

在启动 Hive 之前,我们还需要启动MySQL,这里我的MySQL安装在了 Docker 中。

  • 启动docker
sudo systemctl start docker
  • 查看MySQL的容器id
sudo docker ps -a

【Hive】安装配置及导入Hdfs数据

  • 启动MySQL
sudo docker start 85a041875a9e(刚才拷贝的id)

进入到hive安装目录下,执行以下命令初始化元数据库:

schematool -dbType mysql -initSchema
  • 启动Hive

启动HiveServer2:

$HIVE_HOME/bin/hiveserver2

启动Hive:

hive

三、导入Hdfs数据到Hive✨

3.1 修改Hadoop集群配置

  • 进入到Hadoop安装目录下
cd /opt/module/hadoop-3.1.3/etc/hadoop/
  • 修改core-site.xml文件
vim core-site.xml
  • 将以下内容添加进入,已经有的可以不用添加,需要修改的地方已经用注释的形式说明
<!-- 1.基本配置——hdfs -->
<!--指定NameNode的内部通讯地址-->
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop102:8020</value>
  <description>version of this configuration file</description>
</property>
<!-- 指定Hadoop数据的存储目录-->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/module/hadoop-3.1.3/data</value>
  <description>A base for other temporary directories.</description>
</property>
<!-- 配置网页登录的静态用户是sky(换成自己的)-->
<property>
  <name>hadoop.http.staticuser.user</name>
  <value>sky</value>
</property>
<!--配置使用sky用户(换成自己的)登录的主机为任意主机-->
<property>
    <name>hadoop.proxyuser.sky.hosts</name>
    <value>*</value>
</property>
<!--配置使用sky用户(换成自己的)登录的群组为任意群组-->
<property>
    <name>hadoop.proxyuser.sky.groups</name>
    <value>*</value>
</property>

3.2 初始化

进入到hive目录:

cd /opt/module/hive

初始化元数据库:

schematool -dbType mysql -initSchema

3.3 创建表

create table order_by_province(dt string,
province_id string,
province_name string,
area_code string,
iso_code string,
order_count bigint,
order_amount decimal)
row format delimited 
fields terminated by '\t';

3.4 从Hdfs导入数据

使用Load命令从HDFS导入数据刀Hive:

load data inpath '/mysql/gmall_report/order_by_province/*' into table order_by_province;

四、总结撒花😊

本文主要讲解了Hive的安装配置及使用,个人感觉还不是很完善,仅供参考哈,有错误欢迎指出。😊

这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 本文由初心原创,首发于CSDN博客, 博客主页:初心%🏠

🏠 我在CSDN等你哦!😍

【Hive】安装配置及导入Hdfs数据文章来源地址https://www.toymoban.com/news/detail-486995.html

到了这里,关于【Hive】安装配置及导入Hdfs数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据Hive--安装和配置

    有需要Hive-3.1.3.安装包和 MySQL安装包以及MySQL驱动jar包的,请浏览文章末尾 Hive官网地址 http://hive.apache.org/ 下载地址 http://archive.apache.org/dist/hive/ 1)把apache-hive-3.1.3-bin.tar.gz上传到Linux的/opt/software目录下 2)解压apache-hive-3.1.3-bin.tar.gz到/opt/module/目录下面 [yudan@hadoop102 software]$ ta

    2024年02月03日
    浏览(46)
  • HDFS 跨集群数据同步(hive,hadoop)

    两个不同的HDFS 集群数据迁移( A集群的数据 - B 集群) 采用的是 SHELL 脚本  按表进行; 日期分区进行; #!/bin/bash ##################### #创建人:DZH #创建日期: 2020-04 #内容: 数据迁移 ##################### ##################################### [ \\\"$#\\\" -ne 0 ] FILE=$1 path=$(cd `dirname $0`; pwd) ############## 获取执

    2024年04月27日
    浏览(58)
  • Apache Doris (三十):Doris 数据导入(八)Spark Load 3- 导入HDFS数据

    目录 1. 准备HDFS数据 2. 创建Doris表 3. 创建Spark Load导入任务 4. 查看导入任务状态 进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道࿰

    2024年02月16日
    浏览(51)
  • xslx表格文件采集到hdfs流程&hdfs数据 load到hive表

    咱们就是说,别的话不多说,直接开始实操 xslx在win系统上,打开后另存为csv文件格式,上传到linux系统中。(注意下编码格式,不然后面就是中文乱码)。 file -i csv文件 可以查看文件现在的编码格式(编码格式不匹配会导致文件内中文乱码)。 修改文件的编码格式: iconv

    2024年01月25日
    浏览(47)
  • 大数据 | (五)通过Sqoop实现从MySQL导入数据到HDFS

    各位CSDN的朋友们大家好!这篇文章是在困扰了我三天(甚至更久),经过不断尝试与踩坑总结出来的通过 Sqoop 从Mysql数据库导入数据到 Hadoop hdfs 的详细笔记与感想,希望能帮助到大家!本篇文章收录于 初心 的 大数据 专栏。 🏠 个人主页:初心%个人主页 🧑 个人简介:大家

    2024年02月04日
    浏览(39)
  • 大数据开发之Hive案例篇12:HDFS rebalance 一例

    公司的离线数仓是CDH集群,19个节点,HDFS存储空间大约400TB左右,使用量在200TB左右。 由于历史遗留的问题,数据仓库需要重构,新旧数仓在一段时间内需要并存,此时HDFS空间救不够了。 于是申请增加6个节点,每个节点挂20T的存储,累积给HDFS增加120TB左右空间。 通过Cloude

    2024年02月09日
    浏览(98)
  • 【Hadoop】通过Sqoop实现从MySQL导入数据到HDFS

    各位CSDN的朋友们大家好!这篇文章是在困扰了我三天(甚至更久),经过不断尝试与踩坑总结出来的通过 Sqoop 从Mysql数据库导入数据到 Hadoop hdfs 的详细笔记与感想,希望能帮助到大家!本篇文章收录于 初心 的 大数据 专栏。 🏠 个人主页:初心%个人主页 🧑 个人简介:大家

    2024年02月06日
    浏览(56)
  • 大数据开发之Hive案例篇14:某个节点HDFS块比较多

    今天早上到公司,突然收到CDH集群某个节点的存储量的告警,如下图所示: 从图中可以看出,每个节点的HDFS空间是相同的,大多节点HDFS使用量在40%左右,而出问题的这个节点居然直逼80%,鉴于之前问题出现过多次,且每次都是利用空余时间使用HDFS的rebalance进行解决的,此处

    2024年02月11日
    浏览(41)
  • StarRocks案例7:使用shell批量broker load导入hdfs数据

    近期需要进行补录数据,需要将hive的历史数据迁移到StarRocks,因为需要补录的数据较多,hive和StarRocks均使用的是分区表,两边的日期格式也不同,hive这边是 yyyymmdd格式,StarRocks这边是yyyy-mm-dd格式。 之前一直是使用DataX来从hive导入到StarRocks,因为DataX是单节点的,而hive和S

    2024年02月11日
    浏览(45)
  • Sqoop【实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)

    1️⃣ 查看所有命令【 sqoop help 】 2️⃣ 查看某条命令的具体使用方法【 sqoop help COMMAND 】 查询MySQL所有数据库,通常用于 Sqoop 与 MySQL 连通测试: 【具体参数可以使用 sqoop help list-databases 查看】实例: 结果: 【2个】WARN处理: 查询指定数据库中所有数据表,这里要注意一下

    2024年03月18日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包