项目一ODS层数据仓库建模

本文介绍了在项目中如何搭建ODS层数据仓库,通过Hive进行数据建模。主要内容包括:Hive的准备,解决yarn多队列问题,连接Hive并创建行为日志表与业务数据表,以及解决Hive中文注释乱码问题。通过ODS层,实现了数据备份、压缩、分区和外部表的创建,确保数据的高效管理和分析。
摘要由CSDN通过智能技术生成

当我们的数据采集到hdfs层上之后,我们就开开始对数据进行建模以便后来分析,那么我们整体的架构先放在每个建模层级的最前面
在这里插入图片描述
在这里插入图片描述

所以项目1的将行为数据和业务数据导入到hdfs中我们已经完成了,现在需要的是将hdfs的数据通过ODS层数据建模,初步的分析以及改变,那么我们首先介绍下ODS层的作用
因为我们的数据刚落到hdfs上,他还只是单纯的数据,并没有能让我们直接操作。所以我们需要将这些数据放入到能够对数据进行操作的框架中,如我们这个项目采取了使用hive的方法。所以我们此次在ODS层需要做到的就是将hdfs上的数据在不丢失数据内容的情况下原封不动的放到hive中。
针对HDFS上的用户行为数据和业务数据,我们如何规划处理?
(1)保持数据原貌不做任何修改,起到备份数据的作用。
(2)数据采用压缩,减少磁盘存储空间(例如:原始数据100G,可以压缩到10G左右)
(3)创建分区表,防止后续的全表扫描
(4)创建外部表。在企业开发中,除了自己用的临时表,创建内部表外,绝大多数场景都是创建外部表。

数仓搭建-ODS层

hive准备

在安装好hive后,我们将hive的运算引擎改为spark,注意这是hive on spark而不是spark on hive,要注意hive和spark的版本兼容问题。然后要安装好有spark
一切没问题后,我们去hive的conf目录内添加关于spark的配置文件,添加后我们hive的运算引擎就变成spark
在这里插入图片描述
在这里插入图片描述
然后为了能看spark运行效果,还需要在hdfs中给一个路径,用于存储历史日志
在这里插入图片描述
然后又因为在安装spark时,安装的spark中就自带hadoop的jar包(因为某些spark运行需要hadoop依赖),并不是纯净版的spark的jar包,且这个自带的hadoop的jar包还自带一些hive的jar包;直接使用会和安装的Hive3.1.2出现兼容性问题。所以采用Spark纯净版jar包,不包含hadoop和hive相关依赖,避免冲突。
这里展示下怎么在官网下载纯净版spark,进入官网后点击Downloads
在这里插入图片描述
选择需要用户提供hadoop依赖的这个版本,可以看到底下有一个没hadoop依赖的jar包
在这里插入图片描述
解压后将这个没hadoop依赖的spark包下的jars包传给hive,那么怎么能传给hive让它使用呢。因为Hive任务最终由Spark来执行,Spark任务资源分配由Yarn来调度,该任务有可能被分配到集群的任何一个节点。所以需要将Spark的依赖上传到HDFS集群路径,这样集群中任何一个节点都能获取到。并且在hive的配置文件中设置路径为这个依赖。
首先在hdfs中创建目录
在这里插入图片描述
然后将纯净的spark的jars依赖上传到hdfs上的spark-jars
在这里插入图片描述
然后检查下是否导入成功
在这里插入图片描述
可以看见有146条,但是我们在linux中可以通过wc -l可以检查条数发现是147条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值