【离线数仓-5-数据仓库环境准备】

news2024/11/24 2:27:49

离线数仓-5-数据仓库环境准备

  • 离线数仓-5-数据仓库环境准备
    • 1.数据仓库运行环境
      • 1.Hive环境搭建
        • 1.Hive引擎
        • 2.Hive on Spark配置
        • 2.Yarn环境配置
    • 2.数据仓库开发环境
    • 3.模拟数据准备

离线数仓-5-数据仓库环境准备

1.数据仓库运行环境

  • 数仓之外需要做的事情:
    • 数据安全认证:在大数据层面:1.用户认证:Kerberos来管理认证 2.用户授权:Ranger来管理授权
    • 数据质量监控
    • 大数据集群监控
  • HDFS超级用户:是由启动NameNode的用户来决定的,谁启动了NameNode谁就是超级用户。

1.Hive环境搭建

1.Hive引擎

  • Hive引擎包括:默认MR、Tez、Spark。
  • Hive on Spark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。
  • Spark on Hive : Hive只作为存储元数据,Spark负责SQL解析优化,语法是Spark SQL语法,Spark负责采用RDD执行。

2.Hive on Spark配置

  • hive中两个服务:
    hiveserver2服务
    metostore服务
  • hive on spark 环境下面,一个hive会话对应一个spark任务,打开一个会话框执行第一个任务的时候,需要启动spark相关的服务:Exector/Driver,启动这些服务需要损耗时间,所以执行第一个任务的时候,需要耗费一些时间,后面再执行任务的话,就不需要损耗启动服务的时间了。
  • hive on mapreduce 环境下面,一个sql对应一个mr任务。
  • 1.兼容性说明
    • 注意:官网下载的Hive3.1.2和Spark3.0.0默认是不兼容的。因为Hive3.1.2支持的Spark版本是2.4.5,所以需要我们重新编译Hive3.1.2版本。
      编译步骤:官网下载Hive3.1.2源码,修改pom文件中引用的Spark版本为3.0.0,如果编译通过,直接打包获取jar包。如果报错,就根据提示,修改相关方法,直到不报错,打包获取jar包。
  • 2.在Hive所在节点部署Spark
  • 3.配置SPARK_HOME环境变量
  • 4.在hive中创建spark配置文件
  • 5.向HDFS上传Spark纯净版jar包
  • 6.修改hive-site.xml文件,添加如下内容:
<!--Spark依赖位置(注意:端口号8020必须和namenode的端口号一致)-->
<property>
    <name>spark.yarn.jars</name>
    <value>hdfs://hadoop102:8020/spark-jars/*</value>
</property>
  
<!--Hive执行引擎-->
<property>
    <name>hive.execution.engine</name>
    <value>spark</value>
</property>

2.Yarn环境配置

  • 1.增加ApplicationMaster资源比例 (仅在测试环境调整,正式上线环境不需要调整)

    • 1)在hadoop102的/opt/module/hadoop-3.1.3/etc/hadoop/capacity-scheduler.xml文件中修改如下参数值
      [atguigu@hadoop102 hadoop]$ vim capacity-scheduler.xml
      <property> <name>yarn.scheduler.capacity.maximum-am-resource-percent</name> <value>0.8</value> </property>

    • 2)分发capacity-scheduler.xml配置文件
      [atguigu@hadoop102 hadoop]$ xsync capacity-scheduler.xml

    • 3)关闭正在运行的任务,重新启动yarn集群
      [atguigu@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh
      [atguigu@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

  • 2.yarn上的Memory Total这个参数对应的12G,是通过配置每台节点的yarn-site.xml中的这个参数,然后相加到一起的结果。
    在这里插入图片描述
    在这里插入图片描述

2.数据仓库开发环境

  • 数仓开发工具可选用DBeaver或者DataGrip。两者都需要用到JDBC协议连接到Hive,故需要启动HiveServer2。

3.模拟数据准备

  • 通常企业在开始搭建数仓时,业务系统中会存在历史数据,一般是业务数据库存在历史数据,而用户行为日志无历史数据。

    • 1)用户行为日志 文件–>Flume -->Kafka–> Flume -->Hdfs
    • 2)业务数据
      • 全量表同步 mysql --> DataX --> Hdfs
      • 增量表同步
        • 增量表首日全量同步 mysql -->Maxwell的bootStrap功能 --> Kafka --> Flume --> Hdfs
        • 增量表实时同步 mysql -->Maxwell实时功能 --> Kafka --> Flume --> Hdfs
  • mysql数据使用maxwell进行同步,maxwell监控的是mysql的binlog日志,其中maxwell支持断点续传功能,实际上是将binlog位置存放在对应mysql的positions中,记录了位置信息。在这里插入图片描述

    • mysql中也记录了当前数据的binlog位置信息,直接在mysql中使用命令查看:show master status;在这里插入图片描述

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

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

相关文章

OSCP-课外2(git泄露、SQL注入)

难度 中 主机发现&端口扫描 sudo arp-scan -l sudo nmap -p- 192.168.65.128 sudo nmap -p22,80 -sC -sV 192.168.65.128 首先,发现了.git目录,可能通过代码审计发现漏洞的存在。 其次,发现了一个描述“login.php修改的更安全”,说明以前login.php版本可能存在安全…

活动预告 | 2023 Meet TVM 开年首聚,上海我们来啦!

内容一览&#xff1a;从去年 12 月延期至今的 TVM 线下聚会终于来了&#xff01;首站地点我们选在了上海&#xff0c;并邀请到了 4 位讲师结合自己的工作实践&#xff0c;分享 TVM 相关的开发经验&#xff0c;期待与大家线下相聚~ 关键词&#xff1a;2023 Meet TVM 线下活动 自…

操作系统(day15) -- I/O设备

I/O设备的基本概念与分类 I/O设备就是可以将数据输入到计算机&#xff0c;或者可以接收计算机输出数据的外部设备&#xff0c;属于计算机中的硬件部分。 I/O设备按使用特性可以分为以下类型&#xff1a; 人机交互类设备。用于与计算机用户之间交互的设备&#xff0c;如打印机、…

华为OD机试用Python实现 -【组合出合法最小数】(2023-Q1 新题)

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 组合出合法最小数…

原子化 CSS 实践

原子化 CSS 实践 jcLee95 的CSDN 博客 邮箱 &#xff1a;291148484163.com CSDN 主页&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/129178547 目 录1. 概述 2. 原子化…

Flutter+【三棵树】

定义 在Flutter中和Widgets一起协同工作的还有另外两个伙伴&#xff1a;Elements和RenderObjects&#xff1b;由于它们都是有着树形结构&#xff0c;所以经常会称它们为三棵树。 这三棵树分别是&#xff1a;Widget、Element、RenderObject Widget树&#xff1a;寄存烘托内容…

代码随想录---二叉树的总结和二叉树的定义

二叉树的种类&#xff1a; 满二叉树&#xff1a;树的所有节点都是满&#xff0c;即都有左右孩子。 这棵二叉树为满二叉树&#xff0c;也可以说深度为k&#xff0c;有2^k-1个节点的二叉树。 完全二叉树&#xff1a;完全二叉树的定义如下&#xff1a;在完全二叉树中&#xff0c…

数据结构—堆(完全解析)

数据结构—堆&#xff08;完全解析&#xff09; 数据结构——堆&#xff08;Heap&#xff09;大根堆、小根堆 详解数据结构——堆 堆的基本存储 【从堆的定义到优先队列、堆排序】 10分钟看懂必考的数据结构——堆 【堆/排序】堆排序的两种建堆方法 【算法】排序算法之堆排序 C…

【Tips】通过背数据了解业务

学习资料&#xff1a;做了三年数据分析&#xff0c;给你的几点建议 1. 通过背数据了解业务 原文&#xff1a; 总结&#xff1a; 方法&#xff1a;每天早上去到公司第一件事情就是先背一遍最新的各种指标。原理&#xff1a; 数据敏感性就是建立在对数据的了解和熟悉上。业务的…

使用Autoware标定工具包联合标定相机和激光雷达

前面文章介绍了&#xff0c;安装autoware标定工具包、ros驱动usb相机、robosense-16线激光雷达的使用&#xff0c;本文记录使用Autoware标定工具包联合标定相机和激光雷达的过程。1.ros驱动相机&#xff0c;启动相机&#xff1b;启动激光雷达2.联合录制bag包rosbag record -a 参…

由浅入深了解超文本传输协议http

什么是超文本传输协议&#xff1f; 超文本传输协议&#xff08;英语&#xff1a;HyperText Transfer Protocol&#xff0c;缩写&#xff1a;HTTP&#xff09;是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 通过HTTP或HTTPS协议请求…

8年测开经验面试28K公司后,吐血整理出1000道高频面试题和答案

1、python的数据类型有哪些 答&#xff1a;Python基本数据类型一般分为&#xff1a;数字、字符串、列表、元组、字典、集合这六种基本数据类型。 浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型。列表、元组、字符串都是序列。 2、列表和元组的区别 答…

postgresql 数据库 主从切换 测试

postgresql 数据库 主从切换 测试 文章目录postgresql 数据库 主从切换 测试前言环境&#xff1a;主从切换1. 查看数据库状态&#xff1a;2. 备库切换主库3. 旧主库切换成备库&#xff1b;4 查看状态后记前言 因数据库等保需要&#xff0c;需要对老系统的数据库进行主从切换来…

【企业云端全栈开发实践-2】Spring Boot Controller

本节目录一、Web入门二、控制器1、Controller2、RestController3、路由映射4、Method匹配5、参数传递6、entity实体层一、Web入门 Spring Boot将传统Web开发的mvc、json、tomacat等框架整合&#xff0c;提供了spring-boot-starter-web组件&#xff0c;简化了Web的应用配置。 …

一条推送的背后运营逻辑

每天我们的手机都收到大量信息&#xff0c;大多来自各APP的推送。每收到一条推送&#xff0c;不只是收到了一串简单的文字&#xff0c;背后还有一系列的隐藏逻辑。几年前我也做过“推送背后的女人”……&#xff08;其实就是干过APP消息推送运营啦~^^~&#xff09;今天就来分享…

【Java 面试合集】String, StringBuffer和StringBuilder 之间的不同

String&#xff0c; StringBuffer和StringBuilder 之间的不同 1. 概述 嗨&#xff0c;大家好【Java 面试合集】又来了&#xff0c;今天我们分享的主题是String&#xff0c; StringBuffer和StringBuilder 之间的不同。 大家别看这个知识点不难&#xff0c;但是里面的细知识很多…

利用Python实现局部异常因子(LOF)的计算

1 LOF算法 局部异常因子(Local Outlier Factor&#xff0c;LOF)算法是目前比较常用的离群点检测算法&#xff0c;该算法通过一种模糊的手段来判断数据对象是否为异常点。 对象ppp的kkk距离&#xff1a;在数据集DDD中&#xff0c;将对象ppp与距其第kkk远的对象ooo之间的距离定义…

(二十四)、实现评论功能(4)【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】

1&#xff0c;创建reply回复页面 1.1 在comment-item子组件中添加click <view class"comment-item" click"goReply">1.2 methods中添加点击跳转回复页面的方法 //跳转去回复页面goReply() {uni.navigateTo({url: "/pages/reply/reply"})}…

Linux 基础知识之权限管理

目录一、权限的认识二、用户切换三、文件权限1.三类文件访问者2.文件权限类型3.文件访问权限4.文件权限值表示一、权限的认识 权限是对用户所能进行的操作的限制&#xff0c;如果不对用户作出限制&#xff0c;那么碰到恶意用户&#xff0c;就会损害其他用户的利益。 Linux是多用…

最新文件快递柜系统网站源码-Fastapi+Sqlite3+Vue2+ElementUI-简洁好用

## 主要特色 - [x] 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI - [x] 轻松上传:复制粘贴,拖拽选择 - [x] 多种类型:文本,文件 - [x] 防止爆破:错误次数限制 - [x] 防止滥用:IP限制上传次数 - [x] 口令分享:随机口令,存取文件,自定义次数以及有效期 - [x] 匿名分享:无…