hive数据仓库工具
1、hive是一套操作数据仓库的应用工具,通过这个工具可实现mapreduce的功能
2、hive的语言是hql[hive query language]
3、官网hive.apache.org 下载hive软件包地址 Welcome! - The Apache Software Foundationhttps://archive.apache.org/
4、hive在管理数据时分为元数据和真数据,其中元数据要保存在数据库中,比如mysql,真数据保存在hdfs中
5、Hive环境搭建
(01)检测系统是否自带安装 MySQL:rpm -qa | grep mysql
(02)若有安装mysql则卸载:rpm -e mysql 或 rpm -e --nodeps mysql
(03)检测是否已安装自带的 mariadb 数据库:rpm -qa|grep mariadb
(04)若有安装则卸载:rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
(05)把安装包MySQL-5.5.40-1.linux2.6.x86_64.rpm-bundle.tar.gz复制到/opt/software目录下
(06)创建目录:mkdir /opt/software/mysql
(07)解压到指定目录下:tar -xvf MySQL-5.5.40-1.linux2.6.x86_64.rpm-bundle.tar -C ./mysql
(08)安装服务器:rpm -ivh MySQL-server-5.5.40-1.linux2.6.x86_64.rpm
【注】若安装中提示缺少依赖包则安装:yum -y install libaio 或 yum -y install perl
(09)安装客户端:rpm -ivh MySQL-client-5.5.40-1.linux2.6.x86_64.rpm
(10)启动 mysql 服务:systemctl start mysql
(11)查看 mysql 服务状态:systemctl status mysql
【注】可以通过 systemctl stop mysql 关闭 mysql 服务
(12)登录 mysql 客户端:mysql -uroot -p 未设密码直接回车
(13)设置 mysql root 用户密码:set password=password('123');
(14)退出客户端:exit 然后重新登录测试密码是否生效:mysql -uroot -p123 并查看数据库信息
(15)查看 mysql 数据库的 user 表:select host,user,password from mysql.user;
(16)若让 root 用户可以远程连接的设置:
grant all privileges on *.* to `root`@`%` identified by '123';
grant all privileges on *.* to `root`@`hadoop101` identified by '123';
flush privileges;
exit;
(17)重新启动 mysql 服务:systemctl restart mysql.service
(18)通过windows端测试远程访问:mysql -hhadoop101 -uroot -p123
(19)将软件包 hive-1.1.0-cdh5.14.2.tar.gz 上传到 /opt/software 目录下
(20)解压到指定的目录:tar -zxvf hive-1.1.0-cdh5.14.2.tar.gz -C /opt/install
(21)配置软链接:ln -s /opt/install/hive-1.1.0-cdh5.14.2 /opt/install/hive
(22)配置环境变量:vi /etc/profile
export HIVE_HOME=/opt/install/hive
export PATH=$PATH:$HIVE_HOME/bin
(23)使环境变量生效:source /etc/profile
(24)创建Hive配置文件:vi /opt/install/hive/conf/hive-site.xml
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hadoop/hive/warehouse</value>
</property>
<!-- mysql 数据配置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop101:3306/hive?useUnicode=true&characterEncoding=utf8&createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123</value>
</property>
<!-- 配置 Hive 临时文件存储地址 -->
<property>
<name>hive.exec.scratchdir</name>
<value>/hadoop/hive/data/hive-${user.name}</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/hadoop/hive/data/${user.name}</value>
</property>
</configuration>
(25)复制文件:cp hive-env.sh.template hive-env.sh
(26)修改文件:vi hive-env.sh
HADOOP_HOME=/opt/install/hadoop
export HIVE_CONF_DIR=/opt/install/hive/conf
export HIVE_AUX_JARS_PATH=/opt/install/hive/lib
(27)创建目录:mkdir -p /opt/install/hive/logs
(28)复制文件:cp hive-log4j.properties.template hive-log4j.properties
(29)修改文件:vi hive-log4j.properties
hive.log.dir=/opt/install/hive/logs
(30)上传 mysql-connector-java-5.1.47-bin.jar 到 /opt/install/hive/lib/ 目录下
(31)启动 hive :hive 直接回车【注】先启动hdfs、yarn和mysql
(32)查看元数据库信息:show databases;
(33)进入 mysql 中,查看有无 hive 数据库
【注】若需为字段名和表添加中文注释,可修改以下内容
ALTER TABLE DBS MODIFY COLUMN `DESC` VARCHAR(4000) CHARACTER SET utf8;
ALTER TABLE TABLE_PARAMS MODIFY COLUMN PARAM_VALUE TEXT CHARACTER SET utf8;
ALTER TABLE COLUMNS_V2 MODIFY COLUMN COMMENT VARCHAR(256) CHARACTER SET utf8;
ALTER TABLE PARTITION_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;
ALTER TABLE PARTITION_KEYS MODIFY PKEY_COMMENT VARCHAR(4000) CHARACTER SET utf8;
#ALTER TABLE INDEX_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;
ALTER TABLE TBLS MODIFY COLUMN VIEW_EXPANDED_TEXT MEDIUMTEXT CHARACTER SET utf8;
ALTER TABLE TBLS MODIFY COLUMN VIEW_ORIGINAL_TEXT MEDIUMTEXT CHARACTER SET utf8;
(34)退出 mysql
(35)停止所有服务,包括(hiveserver2,rm,nm,dn,nn)[mysql]
(36)做快照
6、启动客户端:
(1)确定先启动hdfs,yarn,mysql,然后再启动hive
(2)确定先启动hdfs,yarn,mysql,然后启动服务:
hive --service hiveserver2 &
最后启动beeline -u jdbc:hive2://hadoop101:10000/default -n root
(3)退出hive: exit;
(4)退出beeline:!exit
7、常用命令:
进入方式:hive---------------------beeline
连接: N/A----------------------!connect jdbc:hive2://hadoop101:10000
查询所有数据库:show databases;
查询当前数据库:select current_database();
切换当前数据库:use 数据库名;
查询所有数据表:show tables;[!table(s)]
查询表中所有列:desc 表名;[!column 表名]
保存输出: N/A--------------------!record 文件名
执行linux命令:!命令;---------------!sh 命令
执行hdfs命令:dfs -命令;
执行sql脚本:source 文件名;[!run 文件名]
退出:quit; or exit;------------------!quit or !exit [注!close关闭连接]
8、启动hive的步骤:
(1)systemctl start|status mysql
(2)hadoop-daemon.sh start namenode
(3)hadoop-daemon.sh start datanode
(4)yarn-daemon.sh start resourcemanager
(5)yarn-daemon.sh start nodemanager
(6)hiveserver2 &
(7)beeline
9、集群安装hive注意事项:
(1)在102上安装mysql服务
(2)启动集群zk,hdfs,yarn服务
(3)在102上启动metastore服务,
hive --service metastore &
其他机器需配置hive-site.xml
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop102:9083</value>
</property>
</configuration>
然后启动客户端hive即可
(4)在102上启动hiveserver2服务,
hive --service hiveserver2 & 或 hiveserver2 &
其他机器无需配置hive-site.xml,可直接通过启动客户端beeline即可
beeline -ujdbc:hive2://hadoop102:10000 -uroot
相关文章:

hive数据仓库工具
1、hive是一套操作数据仓库的应用工具,通过这个工具可实现mapreduce的功能 2、hive的语言是hql[hive query language] 3、官网hive.apache.org 下载hive软件包地址 Welcome! - The Apache Software Foundationhttps://archive.apache.org/ 4、hive在管理数据时分为元…...

C语言 联合体验证 主机字节序 +枚举
联合体应用:验证当前主机的大小端(字节序) //验证当前主机的大小端 #include <stdio.h>union MyData {unsigned int data;struct{unsigned char byte0;unsigned char byte1;unsigned char byte2;unsigned char byte3;}byte; };int main…...

python和pygame实现烟花特效
python和pygame实现烟花特效 新年来临之际,来一个欢庆新年烟花祝贺,需要安装使用第三方库pygame,关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 效果图及源码 先看效果图:…...

gRPC-Gateway:高效转换 RESTful 接口 | 开源日报 No.105
grpc-ecosystem/grpc-gateway Stars: 16.4k License: BSD-3-Clause gRPC-Gateway 是一个遵循 gRPC HTTP 规范的 gRPC 到 JSON 代理生成器。它是 Google 协议缓冲编译器 protoc 的插件,可以读取 protobuf 服务定义并生成反向代理服务器,将 RESTful HTTP…...

非专业的建模人员如何给模型设置材质纹理贴图?
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 1、材质和纹理的区别于关联 材质(Material)是…...

自动化测试、压力测试、持续集成
因为项目的原因,前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api。下面将研究的成果展示给大家,希望对需要的人有所帮助。 SoapUI 是什么? SoapUI 是一个开源测试工具,通过 soap/http 来检查、调用、实现 Web Service …...
FFmpeg之HWContextType
HWContextType算是ffmpeg中为硬解码第三方接口的一个辅助类,它自己有两个辅助子类 AVHWDeviceContext和AVHWFramesContext。 AVHWDeviceContext主要表示硬件上下文 AVHWFramesContext主要表示硬件Frame的一些参数,比如你解码后的YUV数据还在硬件上&#…...

Python面向对象之类和对象(Python系列16)
前言:面向对象是什么,为什么要学面向对象?面向对象是一种思想,让我们的程序变得更加的贴切我们的生活,更加的形象,让代码的可读性和扩展性变得更高。 面向对象:可以使用类将变量和函数组成新的…...
电商对传统零售业的影响:销售渠道、价格竞争与服务质量挑战
随着互联网的普及和电商行业的飞速发展,传统零售业面临着前所未有的挑战。电商不仅改变了消费者的购物方式和消费习惯,还对传统零售业的销售渠道、价格竞争和服务质量等方面产生了深远的影响。本文将详细分析电商对传统零售业的影响,以期为传…...

DENet:用于可见水印去除的Disentangled Embedding网络笔记
1 Title DENet: Disentangled Embedding Network for Visible Watermark Removal(Ruizhou Sun、Yukun Su、Qingyao Wu)[AAAI2023 Oral] 2 Conclusion This paper propose a novel contrastive learning mechanism to disentangle the high-level embedd…...

C++初阶(十五)Stack和Queue
文章目录 一、Stack的模拟实现二、Queue的模拟实现三、容器适配器1、什么是容器适配器2、STL标准库中stack和queue的底层结构3、 deque的简单介绍(了解)1、deque的原理介绍2、deque的缺陷 4、为什么选择deque作为stack和queue的底层默认容器 一、Stack的模拟实现 #include<…...
C#面试题
基本概念 装箱和拆箱 装箱的过程,是将 值类型 转换为 引用类型 的过程; 拆箱则是将引用类型转换为值类型。 int val 100; object obj val; //装箱 int num (int) obj; //拆箱 委托(delegate) 委托(Delegate) 是存有对某个…...

python源码,在线读取传奇列表,并解析为需要的JSON格式
python源码,在线读取传奇列表,并解析为需要的JSON格式 [Server] ; 使用“/”字符分开颜色,也可以不使用颜色,支持以前的旧格式,只有标题和服务器标题支持颜色 ; 标题/颜色代码(0-255)|服务器标题/颜色代码(0-255)|服务…...

二叉排序树的判断(二叉树的顺序存储):2022年408算法题
对于采用顺序存储方式保存的二叉树,根结点保存在SqBiTNode[0]中;当某结点保存SqBiTNode[i]中时,若有左孩子,则其值保存在SqBiTNode [2i1]中;若有右孩子,则其值保存在SqBiTNode[2i2]中;若有双亲结…...

Kubernetes版本升级到v1.18.0方法
升级k8s版本才能使用kube-prometheus安装监控 1、查看集群状态 [rootk8s-master k8s-script]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready master 5d22h v1.18.0 k8s-slave1 Ready <none> 4d10h v1.18.0 k…...

了解 git rebase
了解 git rebase 大多数人习惯使用 git merge 将更改从功能分支合并到主分支,但还有其他方法。我们是否曾经遇到过 git rebase 这个术语并想知道它是什么?或者我们可能听说过 rebase 和 merge ,但不确定何时使用哪个?不用担心&am…...

程序员的养生之道:延寿健康的十大秘诀(下)
程序员的养生之道:延寿健康的十大秘诀(上)-CSDN博客 目录 6. 心理调节,减轻压力 6.1 程序员常见的心理问题 6.2 压力管理的重要性 6.3 放松技巧与应对策略 6.4 积极心态与心理健康 7. 正确坐姿,保护颈椎腰椎 …...
【java】保留前N月数据文件,定期删除数据
数据越积越多,过于冗余;数据库定期删除指定时间前的数据;文件生成的删除指定时间前端文件 SFTP文件定期删除 java sftp 定时清理指定文件中固定时间 依赖 <!-- ftp文件上传/下载Jar包 --> <dependency><groupId>com.jc…...

12.9_黑马数据结构与算法笔记Java
目录 057 多路递归 e03 杨辉三角2 thinking:二维数组的动态初始化? 057 多路递归 e03 杨辉三角3 058 链表 e01 反转单向链表1 058 链表 e01 反转单向链表2 058 链表 e01 反转单向链表3 递归 058 链表 e01 反转单向链表4 为什么是returnn1呢&…...
K8S学习指南(1)-docker的安装
文章目录 引言1. Windows 系统中安装 Dockera. 确认系统要求b. 下载 Docker Desktopc. 安装 Docker Desktopd. 配置 Docker Desktope. 验证安装 2. Ubuntu 系统中安装 Dockera. 更新包列表b. 安装依赖包c. 添加 Docker GPG 密钥d. 添加 Docker APT 仓库e. 安装 Dockerf. 添加用…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...