【大数据】CentOS7 安装 Hive(附有Hive基本使用-练习)

news2024/11/10 15:47:32

文章目录

  • 1.安装并配置Hive
    • 处理hive中文乱码
  • 2.Hive基本操作
  • 3.将本地文件导入Hive
    • 练习1
    • 练习2

1.安装并配置Hive

  1. 下载

  2. 利用Xshell中的xftp,将apache-hive导入到CentOS7的/opt/source文件夹下
    在这里插入图片描述

  3. 解压

    ·解压命令:tar -zxvf apache-hive-1.2.1-bin.tar.gz
    ·重命名:mv apache-hive-1.2.1-bin hive-1.2.1
    ·移动到/opt/module目录下:mv hive-1.2.1 ../module
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 配置hive-env.sh文件

    ·修改/opt/module/hive-1.2.1/conf下的hive-env.sh文件
     /opt/module/hive-1.2.1/conf下没有hive-env.sh文件,但有个hive-env.sh.template文件,把hive-env.sh.template文件复制一份,并把复制的文件命名为:hive-env.sh
      命令:cp hive-env.sh.template hive-env.sh
    同理(依次进行以下操作):
    	cd /hive-1.2.1/conf
    	cp hive-env.sh.template hive-env.sh
    	cp hive-default.xml.template hive-site.xml
    	cp hive-log4j.properties.template hive-log4j.properties
    	cp hive-exec-log4j.properties.template hive-exec-log4j.properties
    
     ·配置hive-env.sh文件
     	1)配置HADOOP_HOME路径:
     		export HADOOP_HOME=/opt/module/hadoop-2.7.2
     	2)配置HIVE_CONF_DIR路径:
     		export HIVE_CONF_DIR=/opt/module/hive-1.2.1/conf
    
    ·修改hive-site.xml文件
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    

    在这里插入图片描述
    ·配置hive-env.sh文件

    配置前:
    在这里插入图片描述
    配置后:
    在这里插入图片描述
    ·修改hive-site.xml文件
    修改前(保留前两行,其他删除重写):
    在这里插入图片描述
    修改后:
    在这里插入图片描述

  5. 添加mysql驱动包

    如果本机有mysql的驱动jar包,就直接拷贝到hive的安装目下的lib目录。
    
  6. 配置hive环境变量

    ·vim /etc/profile
    末尾添加如下内容:
    	export HIVE_HOME=/opt/module/hive-1.2.1
    	export PATH=$PATH:$HIVE_HOME/bin
    ·使环境变量生效:
    	source /etc/profile
    
  7. 初始化元数据库

    schematool -dbType mysql -initSchema
    

在这里插入图片描述

处理hive中文乱码

进入数据库中执行以下5条SQL语句:

alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set 'utf8';
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set 'utf8';
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set 'utf8';
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set 'utf8';
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set 'utf8';

执行完后,重启MySQL服务
在这里插入图片描述

2.Hive基本操作

准备工作:
	1.确保hadoop正常运行
	2.确保mysql正常运行
	3.确保jdk正常安装
  1. 启动hive

    ·hive --service metastore &
    ·启动命令:hive
    

    在这里插入图片描述

  2. 查看数据库

    ·查看命令:show databases;
    

    在这里插入图片描述

  3. 打开默认数据库

    命令:use default;
    
  4. 显示default数据库中的表

    命令:show tables;
    

    在这里插入图片描述

  5. 创建一张表

    命令:create table student(id int,name string);
    

    在这里插入图片描述

  6. 显示数据库中有几张表

    命令:show tables
    

    在这里插入图片描述

  7. 查看表的结构

    命令:desc student;
    

    在这里插入图片描述

  8. 向表中插入数据

    命令:insert into student values(1000,"ss");
    

    在这里插入图片描述

  9. 查询表中数据

    命令:select * from student;
    

    在这里插入图片描述

  10. 退出hive

    命令:quit;
    

3.将本地文件导入Hive

需求:将本地/opt/module/datas/students.txt 这个目录下的数据导入到hive的student(id int,name string)表中。
  1. 数据准备:在/opt/module/datas/student.txt 这个目录下准备数据

    说明:student.txt的字段格式要与Hive数据库中student表中的字段一致。
    
    1)在/opt/module/目录下创建datas
    2)在/opt/module/datas/目录下创建student.txt文件并添加数据。
    
    依次执行如下命令:
    	cd /opt/module
    	mkdir datas
    	cd datas
    	touch student.txt
    	vi student.txt
    	输入具体内容如下(注意以tab键间隔):
    1001	aaa
    1102	bbb
    1003	ccc
    1004	ddd
    1005	eee
    

    在这里插入图片描述

    在这里插入图片描述

  2. hive实际操作

    1)启动hive:hive
    2)显示数据库:showdatabases;
    3)使用default数据库:use default;
    4)显示default数据库中的表:show tables;
    5)删除已创建的student表:drop table student;
    6)创建student表,并声明文件分隔符' \t':create table student(id int,name string) row format delimited fields terminated by '\t';
    7)加载/opt/module/datas/student.txt文件到student数据库表中:load data local inpath '/opt/module/datas/student.txt' into table student;
    8)Hive查询结果:select * from student;
    

    在这里插入图片描述
    在这里插入图片描述

练习1

本机准备一个数据文件/opt/module/datas/data.txt,数据内容:
在这里插入图片描述
创建测试数据库:

create database test;

使用新的数据库:

use test;

创建hero表:

create table hero(id int,name string,work string) row format delimited fields terminated by ',';

往表中加载数据:

load data local inpath "/opt/module/datas/data.txt" into table hero;

查询数据:

select * from hero;

在这里插入图片描述

练习2

  1. 本机准备一个数据文件/opt/module/datas/data1.txt,数据内容:
    在这里插入图片描述
  2. 将data1.txt数据上传到HDFS(在hadoop-2.7.2的bin目录下执行以下命令)
· cd /opt/module/hadoop-2.7.2/bin
· hdfs dfs -put /opt/module/datas/data1.txt /

在这里插入图片描述

  1. 创建studet1表
hive
use test
create table student1(id int,name string,sex string) row format delimited fields terminated by '\t';
  1. 把hdfs中的data1.txt数据加载到student1表中
load data inpath '/data1.txt' into table student1;
  1. 查询数据
select * from student1;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】

导语:看到一则旧闻,读了一篇论文,产生一些思考,完成一个模型 前言及项目简介 一、旧闻二、论文三、思考四、模型一、旧闻 大概去年十一月初吧,博主还在进行紧张的研考冲刺阶段。学校下达毕设选题任务,仓促间就要决定毕设内容,并无思路,不免有些迷茫:既担心选题过于简…

Unc0ver 8.0.0 更新:支持 iOS 14.6-14.8、A12-A13 iPhone 越狱

今日&#xff0c;越狱工具 unc0ver 发布了全新的 8.0.0 版本。现在支持 iOS 14.6-14.8 版本越狱&#xff0c;需要搭载 A12-A13 芯片的 iPhone 手机。 本次越狱支持的系统版本&#xff1a;iOS 14.6、iOS 14.7、iOS 14.7.1、iOS 14.8这4种版本&#xff0c;iOS 15.0以上系统请等待…

【VUE3】保姆级基础讲解(四): vue-router,vuex

目录 后端路由的映射方案 SPA&#xff1a;single page web application url的hash vue-router 基础使用 路由默认url 异步打包 动态路由匹配 notfound 嵌套路由 动态路由 添加路由 添加嵌套路由 删除路由 路由导航守卫 全局前置守卫beforeEach Vuex状态管理 状态…

互联网电商模式的迅速发展,消费返利模式你知道吗?

互联网电商模式的迅速发展&#xff0c;消费返利模式在市面上一直以来的引流能力相信大家都是有目共睹的&#xff0c;只不过因为近两到三年来的返利模式相关负面新闻太多&#xff0c;导致到了大众对于这种模式的一种不信任心理&#xff0c;但不可否认的是目前还是有很多消费者在…

Prompt-NLP新范式

作者&#xff1a;子苏 来源&#xff1a;投稿 编辑&#xff1a;学姐 Prompt综述论文&#xff1a;Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing 论文作者知乎-近代自然语言处理技术发展的“第四范式” NLP技术发展…

【回答问题】ChatGPT上线了!推荐40个以上比较好的目标检测模型

推荐40个以上比较好的目标检测模型? 目标检测是指在图像中找到并标识出特定目标的计算机视觉任务。近年来&#xff0c;机器学习技术的发展使得目标检测取得了长足进步。目前有许多优秀的目标检测模型&#xff0c;下面是推荐的40个以上的比较好的目标检测模型&#xff1a; R-…

事务到底是隔离的还是不隔离的?

我在第 3 篇文章和你讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无…

尚医通-医院列表接口-等级接口-功能测试(二十二)

目录&#xff1a; &#xff08;1&#xff09;医院列表接口-医院等级接口 &#xff08;2&#xff09;医院列表接口-远程调用 &#xff08;3&#xff09;医院列表接口-功能测试 &#xff08;1&#xff09;医院列表接口-医院等级接口 由于我们的医院等级、省市区地址都是取的数据…

BGP在数据中心的应用1——数据中心网络介绍

注&#xff1a; 本文根据《BGP in the Datacenter》整理&#xff0c;有兴趣和英文阅读能力的朋友可以直接看原文&#xff1a;https://www.oreilly.com/library/view/bgp-in-the/9781491983416/ 引子 在传统的大型数据中心&#xff0c;网络通常是三层结构。Cisco称之为&#x…

js函数之call和apply

一、含义 function test() {console.log(----) }//执行 test(); test.call() 结果一致&#xff0c;调用test()默认会调用call&#xff0c;二者效果一致&#xff0c;call省略掉了。 二、改变this指向 call还有一个很重要的功能是改变this的指向。 function Car(brand, color)…

[Java]泛型

文章目录&#x1f97d; 泛型简介&#x1f30a; 泛型的概念&#x1f30a; 使用泛型的原因&#x1f30a; 小结&#x1f30a; 类型推断&#x1f97d; 自定义泛型&#x1f30a; 自定义泛型类&#x1f30a; 自定义泛型类/泛型接口注意点&#x1f30a; 自定义泛型方法&#x1f97d; 泛…

2022HW11

文章目录任务描述-域自适应二、代码三、实验1、Simple Baseline2、Medium Baseline3、Strong Baseline任务描述-域自适应 ●想象一下&#xff0c;你想做与3D环境相关的任务&#xff0c;然后发现 ○3D图像很难标记&#xff0c;因此也很昂贵。 ○模拟图像&#xff08;如GTA-5上的…

shell-流程控制之循环

1.for创建20用户用户前缀由用户输入用户初始密码由用户输入 例如&#xff1a;test01,test10 [rootcotenos day06]# vim useradd.sh #!/bin/bash read -p "请输入用户前缀&#xff1a;" user read -p "请输入初始密码&#xff1a;" pass for ((i1;i<…

重新成长再出发

文章大纲突然的转型&#xff0c;逼自己一把也能重新成长为什么脱口秀突然火了起来&#xff1f;上天是给了你一个重新成长的机会&#xff01;2022 一些成长的点滴突然的转型&#xff0c;逼自己一把也能重新成长 年初的时候&#xff0c;航旅纵横给我弹窗问我很久没有坐飞机了怎么…

微三云陈志坤:盘点帮助企业转型到线上的模式

今/天小编给大家介绍一下泰山众筹模式系统&#xff0c;想搭建系统平台的联系微三云陈志坤。 泰山众筹模式已经走了4个多年头&#xff0c;目前仍在运行。 第一部分&#xff1a;泰山众筹模式介绍 一、无泡沫——安全长久 所有的互联网金融项目的死穴就是泡沫无法消除&#xf…

对于此版本,windows installer和即点即用的Office不能并行运行,因此只能安装一种类型(安装Visio破解版时的报错)

阅读前请看一下&#xff1a;我是一个热衷于记录的人&#xff0c;每次写博客会反复研读&#xff0c;尽量不断提升博客质量。文章设置为仅粉丝可见&#xff0c;是因为写博客确实花了不少精力。不用担心你关注我而我却不关注你&#xff0c;因为我是个诚信互关的人&#xff01;&…

gem5 arm架构 fullsystem spec2017 benchmark 仿真

gem5 system emulation 模式&#xff0c;内部实现了对system call的模拟&#xff0c;使用了一段时间后&#xff0c;有一些发现: 如果使用spec2017 X86编译&#xff0c;那么会存在对intel比较新的指令不支持的问题&#xff1b;后来使用gcc march K6 m32来解决&#xff0c;即使用…

FPGA知识汇集-FPGA配置模式和配置设计

所有现代FPGA的配置分为两类:基于SRAM的和基于非易失性的。其中&#xff0c;前者使用外部存储器来配置FPGA内的SRAM;后者只配置一次。 Lattice和Actel的FPGA使用称为反熔丝的非易失性配置技术&#xff0c;其主要优点是系统设计更加简单、不需要外部存储器和配置控制器、功耗低…

Kotlin之泛型的高级特性

Kotlin泛型中的基本用法和Java中的泛型用法是大致相同的&#xff0c;因此也比较好理解。然而实际上&#xff0c;Kotlin在泛型方面还提供了不少特有的功能&#xff0c;接下来将进行介绍。 一、对泛型进行实化 泛型实化这个功能对于绝大多数Java程序员来讲是非常陌生的&#xf…

对云台、IMU、鲁棒性和硬件时间同步的理解

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> slam是一门集硬件和软件的多科学技术&#xff0c;涉及到很多技术术语、概念以及数学公式等等。下面我将结合网上资料以及个人理解进行介绍。 什么叫云台…