hive数据仓库工具

news2024/11/23 0:27:09

1、hive是一套操作数据仓库的应用工具,通过这个工具可实现mapreduce的功能
2、hive的语言是hql[hive query language]
3、官网hive.apache.org 下载hive软件包地址 Welcome! - The Apache Software Foundationicon-default.png?t=N7T8https://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&amp;characterEncoding=utf8&amp;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

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

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

相关文章

Array数组和List的序列化和反序列化

一、前言 数组类型对象和普通对象一样&#xff0c;使用toJson/fromJson即可完成序列化与反序列化。 二、Array数组的序列化和反序列化 1.创建User类 public class User {Exposeprivate String userName;Exposeprivate String password;Exposeprivate int age;Exposeprivate …

Ubuntu22.04_修改用户名_添加用户_修改电脑名

概要&#xff1a; 本篇所讲述的操作都是在图形化界面中进行。点击顶部栏右侧&#xff0c;展开系统菜单&#xff0c;打开设置 一、修改自己的用户名 1、修改之前查看信息 cat /etc/passwd 2、修改 输入完成&#xff0c;回车即可 3、修改之后查看信息 cat /etc/passwd 4、解…

Python 反射

Python 反射是什么&#xff1f; 学习了几天&#xff0c;做个总结留给自己看。 感觉跟 SQL 入门要掌握的原理一样&#xff0c;Python 反射看起来也会做4件事&#xff0c;“增删查获” 增 - 增加属性&#xff0c;方法 setattr 删 - 删除属性&#xff0c;方法 delattr 查 - …

【超详细】创建vue3+ts项目(引入ElementPlus、Axios)

目录 前言1、使用vue脚手架创建项目1.1检查vue版本1.2 使用vue脚手架创建项目 2、删除项目多余文件&#xff0c;修改配置项目2.1、删除以下文件2.1、在views下创建index文件2.2、修改router/index.ts路由文件&#xff1a;2.3、修改App.vue文件&#xff1a;2.4、初始化页面样式以…

HTML---表单

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.表单概念 HTML表单是网页上用于收集用户输入信息的一种元素。它由一系列输入字段&#xff08;input&#xff09;、选择字段&#xff08;select&#xff09;、文本区域&#xff08;textarea&a…

CV计算机视觉每日开源代码Paper with code速览-2023.12.8

点击计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【显著目标检测】Texture-Semantic Collaboration Network for ORSI Salient Object Detection 论文地址&#xff1a;https://arxiv.org//pdf/…

深入理解Java虚拟机---Java内存模型

JMM Java内存模型主内存和工作内存volatile Java内存模型 Java内存模型是Java虚拟机规范中试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异&#xff0c;以实现让Java程序在各种平台上都能达到一致的内存访问效果。可以理解为JMM定义一套在多线程读写共…

leetcode 34. 在排序数组中查找元素的第一个和最后一个位置(优质解法)

代码&#xff1a; class Solution {public int[] searchRange(int[] nums, int target) {int[] resultnew int[2];result[0]result[1]-1;//排除特殊情况if(numsnull||nums.length0){return result;}//查找左边界int left0;int rightnums.length-1;while (left<right){int m…

独立完成软件的功能的测试(4)

独立完成软件的功能的测试&#xff08;4&#xff09; &#xff08;12.14&#xff09;&#xff08;功能测试>头条项目实战&#xff09; 项目总体概述 项目背景和定位&#xff1a;一款汇聚科技咨询&#xff0c;技术文章和问答交流的用户移动终端产品&#xff0c;用户可以通过…

【玩转TableAgent数据智能分析】TableAgent全功能详解及多领域数据分析实践(下)数据分析过程及总结展望

6 TableAgent的数据分析过程解析 TableAgent的整个分析过程包括以下步骤&#xff0c;形成一个有机结构&#xff0c;让我们理清其工作原理。 6.1 Data Graph阶段 TableAgent首先绘制数据图&#xff0c;以解决问题。这个图形表示了问题的分解和细化&#xff0c;将大问题分解成…

在WPF窗口中增加水印效果

** 原理&#xff1a; ** 以Canvas作为水印显示载体&#xff0c;在Canvas中创建若干个TextBlock控件用来显示水印文案&#xff0c;如下图所示 然后以每一个TextBlock的左上角为中心旋转-30&#xff0c;最终效果会是如图红线所示&#xff1a; 为了达到第一行旋转后刚好与窗口…

深算院YashanDB与长亮科技联合,推出国产数据库金融核心解决方案

近期&#xff0c;深圳计算科学研究院&#xff08;简称“深算院”&#xff09;携手深圳市长亮科技股份有限公司&#xff08;简称“长亮科技”&#xff09;重磅推出基于崖山数据库YashanDB的金融核心解决方案&#xff0c;为推动金融机构实现技术自主可控与数字化转型全面赋能。 …

C# 从代码入门 Mysql 数据库事务

在业务开发中&#xff0c;使用数据库事务是必不可少的。而开发中往往会使用各种 ORM 执行数据库操作&#xff0c;简化代码复杂度&#xff0c;不过&#xff0c;由于各种 ORM 的封装特性&#xff0c;开发者的使用方式也不一样&#xff0c;开发者想要了解 ORM 对事务做了什么处理是…

Facebook的DINO,无监督模型,可用于分类和分割任务

Facebook的DINO 参考&#xff1a;https://blog.csdn.net/hello_dear_you/article/details/133695006 代码&#xff1a;https://github.com/facebookresearch/dino/tree/main DINO本质上是一种自监督学习方法&#xff0c;其核心思想是通过在大规模的无标签数据集上进行对比学习&…

华为云之轻松搭建 Nginx 静态网站

华为云之轻松搭建 Nginx 静态网站 一、本次实践介绍1. 本次实践目的2. 本次实践环境 二、ECS弹性云服务器介绍三、准备实践环境1. 预置环境2. 查看ECS服务器的账号密码信息3. 登录华为云4. 远程登录ECS服务器 四、安装配置 Nginx1. 安装nginx2. 启动nginx3. 浏览器中访问nginx服…

【Spark精讲】Spark内存管理

目录 前言 Java内存管理 Java运行时数据区 Java堆 垃圾回收机制 Executor内存管理 内存类型 堆内内存 堆外内存 内存管理模式 静态内存管理 统一内存管理 ​编辑 执行内存管理 多任务间内存分配 Shuffle 的内存占用 MemoryOverHead详解 任务内存调节 错误类型…

HarmonyOS给应用添加弹窗

给您的应用添加弹窗 概述 在我们日常使用应用的时候&#xff0c;可能会进行一些敏感的操作&#xff0c;比如删除联系人&#xff0c;这时候我们给应用添加弹窗来提示用户是否需要执行该操作&#xff0c;如下图所示&#xff1a; 弹窗是一种模态窗口&#xff0c;通常用来展示用户…

gRPC-Gateway:高效转换 RESTful 接口 | 开源日报 No.105

grpc-ecosystem/grpc-gateway Stars: 16.4k License: BSD-3-Clause gRPC-Gateway 是一个遵循 gRPC HTTP 规范的 gRPC 到 JSON 代理生成器。它是 Google 协议缓冲编译器 protoc 的插件&#xff0c;可以读取 protobuf 服务定义并生成反向代理服务器&#xff0c;将 RESTful HTTP…

有没有手机电脑同步的工作时间管理软件?

越来越多的职场人士感到每天的工作任务是比较多的&#xff0c;而工作时间又是有限的&#xff0c;所以经常时间不够用。因此&#xff0c;对于上班族来说&#xff0c;高效的时间管理是提高工作效率、按时完成任务的关键。为了满足这一需求&#xff0c;很多网友都在寻找一款既能在…

HarmonyOS给应用添加视频播放功能

Video组件的使用 概述 在手机、平板或是智慧屏这些终端设备上&#xff0c;媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集&#xff0c;还是视频的播放、切换、循环&#xff0c;亦或是相机的预览、拍照等功能&#xff0c;媒体组件都是必不可少的。…