Spark或Hive数仓生命周期管理

这篇具有很好参考价值的文章主要介绍了Spark或Hive数仓生命周期管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

   在做数仓开发过程中,遇到一个问题就是随着数据量增大,存储空间增加惊人:hdfs的文件要存3份(可以修改副本份数),ods、dwd、dws、ads等各层都需要存储空间,指标计算过程如果内存不够又会缓冲在硬盘。而更严重的问题是:如果CDH依赖某个目录的存储空间严重不够,就会导致Yarn的任务执行失败。

   所以对数仓的生命周期管理尤为重要。数仓的生命周期管理的核心目的就是用最少的存储成本来满足最大的业务需求,使数据价值最大化。

对数仓的历史数据可以分为P0、P1、P2、P3这4个不同优先级,其具体定义如下。

• P0:非常重要的主题域数据和非常重要的应用数据,具有不可恢复性,如交易、基础信息表、集团KPI数据、IPO关联表。

• P1 :重要的业务数据和重要的应用数据,具有不可恢复性,如重要的业务产品数据。

• P2:重要的业务数据和重要的应用数据,具有可恢复性,如交易线ETL产生的中间过程数据。

• P3:不重要的业务数据和不重要的应用数据,具有可恢复性,如某些商品的报表。

对数据P0、P1、P2、P3这4个级别的数据,生命周期要根据具体情况。例如在有的公司,关系型数据库保存有数仓原始全部数据,又对服务器的成本敏感性,对恢复数据

层级

类型

P0

P1

P3

P4

ODS层

各类型数据

永久

永久

永久

永久

DWD

事实表(增量表)

永久

3年

365天

180天

维表(全量表)

保留近30天及每月月底数据

保留近30天及每月月底数据

保留近30天及每月月底数据

保留近30天及每月月底数据

Merge全量表

保留近30天及每月月底数据

保留近30天及每月月底数据

保留近30天及每月月底数据

保留近30天及每月月底数据

DWS层

各类型数据

永久

3年

3年

3年

DWM层

各类型数据

保留近30天及每月月底数据

保留近30天及每月月底数据

保留近30天及每月月底数据

保留近30天及每月月底数据

APP层

各类型数据

永久

-

-

-

由于数仓通常是带有时间的分区表。要进行数仓表数据进行生命周期管理,首先是清楚目前数仓各张表占的存储空间的情况。

查看存储空间的命令:

hadoop fs -du -s -h ${warehouse.dir}/*

如果hive外部表

使用drop table来删除表或用drop partition等命令删除表的分区,其实数据还是存在。要彻底删除数据,有2种方法:

(1)通过删除文件方式

删除文件命令:

hdfs dfs -rmdir -f ${warehouse.dir}

删除目录命令:

hdfs dfs -rm -r -f ${warehouse.dir}/*

  1. 变为内部表再删除

alter table  ${table_name) set tblproperties ('EXTERNAL'='False');

如果是hive内部表

删除分区

alter table ${tablename} drop partition(dt<='2023-01-21')

在CDH的默认配置中,删除的文件是放在垃圾站,通常是需要24小时后删除的文件才释放空间。如果需要立即释放空间,可以用下面清空hdfs垃圾站的命令:

hdfs dfs -expunge文章来源地址https://www.toymoban.com/news/detail-729952.html

到了这里,关于Spark或Hive数仓生命周期管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive & Spark & Flink 数据倾斜

    绝大部分任务都很快完成,只有一个或者少数几个任务执行的很慢甚至最终执行失败, 这样的现象为数据倾斜现象。 任务进度长时间维持在 99%或者 100%的附近,查看任务监控页面,发现只有少量 reduce 子任务未完成,因为其处理的数据量和其他的 reduce 差异过大。 单一 redu

    2024年02月07日
    浏览(39)
  • spark读取数据写入hive数据表

    目录 spark 读取数据 spark从某hive表选取数据写入另一个表的一个模板 概述: create_tabel建表函数,定义日期分区 删除原有分区drop_partition函数 generate_data 数据处理函数,将相关数据写入定义的表中  注: 关于 insert overwrite/into 中partition时容易出的分区报错问题:  添加分区函数

    2024年01月19日
    浏览(53)
  • hive/spark数据倾斜解决方案

    数据倾斜主要表现在,mapreduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条Key所在的reduce节点所处理的数据量比其他节点就大很多,

    2024年02月11日
    浏览(43)
  • hive数仓-数据的质量管理

    版本20231116 要理解数据的质量管理,应具备hive数据仓库的相关知识 数据的质量管理,表现保障在数据的健康性,即满足消费者期望程度,体现在他们对数据的使用预期,只有达到预期才能满足决策层的参考。 大数据大而价值密度低,在有效信息数据挖掘上,可能会出现错误

    2024年01月20日
    浏览(44)
  • 【Spark大数据习题】习题_Spark SQL&&&Kafka&& HBase&&Hive

    PDF资源路径-Spark1 PDF资源路径-Spark2 一、填空题 1、Scala语言的特性包含面向对象编程、函数式编程的、静态类型的、可扩展的、可以交互操作的。 2、在Scala数据类型层级结构的底部有两个数据类型,分别是 Nothing和Null。 3、在Scala中,声明变量的有var声明变量和val声明常

    2024年02月06日
    浏览(43)
  • Spark SQL数据源:Hive表

    Spark SQL还支持读取和写入存储在Apache Hive中的数据。然而,由于Hive有大量依赖项,这些依赖项不包括在默认的Spark发行版中,如果在classpath上配置了这些Hive依赖项,Spark就会自动加载它们。需要注意的是,这些Hive依赖项必须出现在所有Worker节点上,因为它们需要访问Hive序列化

    2024年02月11日
    浏览(36)
  • 使用spark将MongoDB数据导入hive

    使用spark将MongoDB数据导入hive 一、pyspark 1.1 pymongo+spark 代码 spark-submit 1.2 mongo-spark-connector 生产环境不方便使用,亲测各种报错 二、Scala 2.1 pom.xml 2.2 代码

    2024年01月22日
    浏览(40)
  • 万字解决Flink|Spark|Hive 数据倾斜

    此篇主要总结到Hive,Flink,Spark出现数据倾斜的表现,原因和解决办法。首先会让大家认识到不同框架或者计算引擎处理倾斜的方案。最后你会发现计算框架只是“异曲”,文末总结才是“同工之妙”。点击收藏与分享,工作和涨薪用得到!!! 数据倾斜最笼统概念就是数据的

    2024年02月03日
    浏览(43)
  • Spark、RDD、Hive 、Hadoop-Hive 和传统关系型数据库区别

    Hive Hadoop Hive 和传统关系型数据库区别 Spark 概念 基于内存的分布式计算框架 只负责算 不负责存 spark 在离线计算 功能上 类似于mapreduce的作用 MapReduce的缺点 运行速度慢 (没有充分利用内存) 接口比较简单,仅支持Map Reduce 功能比较单一 只能做离线计算 Spark优势 运行速度快

    2024年02月13日
    浏览(43)
  • 爱奇艺大数据加速:从Hive到Spark SQL

    01 爱奇艺自2012年开展大数据业务以来,基于大数据开源生态服务建设了一系列平台,涵盖了数据采集、数据处理、数据分析、数据应用等整个大数据流程,为公司的运营决策和各种数据智能业务提供了强有力的支持。随着数据规模的不断增长和计算复杂度的增加,如何快速挖

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包