
数据湖
文章平均质量分 84
wrr-cat
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SQL函数 - 开窗(窗口)函数
开窗函数对一组值进行操作,它不像普通聚合函数那样需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列开窗函数的语法形式为:函数 + over(partition by <分组用列> order by <排序用列>),表示对数据集按照分组用列进行分区,并且并且对每个分区按照函数聚合计算,最终将计算结果按照排序用列排序后返回到该行。括号中的两个关键词partition by 和order by 可以只出现一个。原创 2023-04-18 15:19:58 · 7629 阅读 · 0 评论 -
Hive 系列(六)—— Hive 视图和索引
Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0.0 引入的物化视图除外),当查询引用视图时,Hive 可以将视图的定义与查询结合起来,例如将查询中的过滤器推送到视图中。Hive 在 0.7.0 引入了索引的功能,索引的设计目标是提高表某些列的查询速度。如果没有索引,带有谓词的查询(如'WHERE table1.column = 10')会加载整个表或分区并处理所有行。原创 2023-04-18 15:44:44 · 865 阅读 · 0 评论 -
Hive 系列(五)—— Hive 分区表和分桶表
分区提供了一个隔离数据和优化查询的可行方案,但是并非所有的数据集都可以形成合理的分区,分区的数量也不是越多越好,过多的分区条件可能会导致很多分区上没有数据。同时 Hive 会限制动态分区可以创建的最大分区数,用来避免过多分区文件对文件系统产生负担。鉴于以上原因,Hive 还提供了一种更加细粒度的数据拆分方案:分桶表 (bucket Table)。分桶表会将指定列的值进行哈希散列,并对 bucket(桶数量)取余,然后存储到对应的 bucket(桶)中。原创 2023-04-18 15:45:05 · 565 阅读 · 0 评论 -
Hive 系列(四)—— Hive 常用 DDL 操作
临时表仅对当前 session 可见,临时表的数据将存储在用户的暂存目录中,并在会话结束后删除。如果临时表与永久表表名相同,则对该表名的任何引用都将解析为临时表,而不是永久表。通过指定一个或者多个列经常出现的值(严重偏斜),Hive 会自动将涉及到这些值的数据拆分为单独的文件。在查询时,如果涉及到倾斜值,它就直接从独立文件中获取数据,而不是扫描所有文件,这使得性能得到提升。其中 emp.txt 的内容如下,你可以直接复制使用,也可以到本仓库的。商业转载请联系作者获得授权,非商业转载请注明出处。原创 2023-04-18 15:45:44 · 283 阅读 · 0 评论 -
Hive 系列(一)—— Hive 简介及核心概念
Hive 是一个构建在 Hadoop 之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类 SQL 查询功能,用于查询的 SQL 语句会被转化为 MapReduce 作业,然后提交到 Hadoop 上运行。特点简单、容易上手 (提供了类似 sql 的查询语言 hql),使得精通 sql 但是不了解 Java 编程的人也能很好地进行大数据分析;灵活性高,可以自定义用户函数 (UDF) 和存储格式;为超大的数据集设计的计算和存储能力,集群扩展容易;原创 2023-04-18 15:43:40 · 272 阅读 · 0 评论 -
大数据调度平台 Airflow(五):Airflow 使用
以上 python 文件就是 Airflow python 脚本,使用代码方式指定 DAG 的结构。原创 2023-04-17 11:20:01 · 2251 阅读 · 0 评论 -
大数据调度平台 Airflow(三):Airflow 单机搭建
Airflow 是基于 Python 的,就是 Python 中的一个包。安装要求 Python3.6 版本之上,Metadata DataBase 支持 PostgreSQL9.6+,MySQL5.7+,SQLLite3.15.0+。原创 2023-04-17 11:17:57 · 718 阅读 · 0 评论 -
大数据调度平台 Airflow(二):Airflow 架构及原理
Airflow 我们可以构建 Workflow 工作流,工作流使用 DAG 有向无环图来表示,DAG 指定了任务之间的关系,如下图:Airflow 架构图如下:Airflow 在运行时有很多守护进程,这些进程提供了 airflow 全部功能,守护进程包括如下:webserver:WebServer 服务器可以接收 HTTP 请求,用于提供用户界面的操作窗口,主要负责中止、恢复、触发任务;监控任务;断点续跑任务;查询任务状态、详细日志等。原创 2023-04-17 11:16:31 · 1680 阅读 · 0 评论 -
大数据调度平台 Airflow(一):什么是 Airflow
Airflow 采用 Python 语言编写,提供可编程方式定义 DAG 工作流,可以定义一组有依赖的任务,按照依赖依次执行, 实现任务管理、调度、监控功能。另外,Airflow 提供了 WebUI 可视化界面,提供了工作流节点的运行监控,可以查看每个节点的运行状态、运行耗时、执行日志等。也可以在界面上对节点的状态进行操作,如:标记为成功、标记为失败以及重新运行等。在 Airflow 中工作流上每个 task 都是原子可重试的,一个工作流某个环节的 task 失败可自动或手动进行重试,不必从头开始跑。原创 2023-04-17 10:12:35 · 504 阅读 · 0 评论 -
大数据调度平台 Airflow(四):Airflow WebUI 操作介绍
以上“Runs”列与“Recent Tasks”列下的“圆圈”代表当前 DAG 执行的某种状态,鼠标放到对应的“圆圈”上可以查看对应的提示说明。DAG 有对应的 id,其 id 全局唯一,DAG 是 airflow 的核心概念,任务装载到 DAG 中,封装成任务依赖链条,DAG 决定这些任务的执行规则。将 DAG 以树的形式表示,如果执行过程中有延迟也可以通过这个界面查看问题出现在哪个步骤,在生产环境下,经常通过这个页面查看每个任务执行情况。日期视图,显示当前年每月每天任务执行情况。原创 2023-04-17 10:12:40 · 1491 阅读 · 0 评论 -
从数据到价值,DataOps 精益数据运营概述
我们作为研发团队支撑了阿里云 GTS 内大部分数据域项目的交付,包含数据上云、数据库、大数据、数据中台等等,过程中沉淀了大量工具,为了方便工具的管理和使用,我们建立了 “星轨工具中心”进行工具的统一纳管,但工具功能比较零散,总是处于补业务窟窿的状态,显得“东一榔头西一棒”,缺少主线将工具能力串联在一起,技术缺少“牵引”,这在过去给我们带来很多困扰。原创 2023-04-15 17:23:38 · 1304 阅读 · 0 评论 -
什么是主动元数据?为什么 Gartner 预测它是元数据管理的新方向
导读:Gartner 用主动元数据市场指南取代元数据管理魔力象限,预示着什么?到底什么主动元数据管理?欢迎聪明的读者自己去文中探索。2022 年的元数据管理已走过 20 多个年头。而这一年,元数据管理正处于变革转型的风口浪尖。这一变化预示着什么?现代数据堆栈中即将产生一种处理元数据的新方法。无论您每天处理千字节还是兆字节的数据,您都可能想知道这究竟意味着什么。这篇文章,笔者将尝试解答这些问题并预测元数据管理的新发展方向。原创 2023-04-15 13:25:18 · 765 阅读 · 0 评论 -
数据治理(十五):Ranger 管理 Hive 安全
访问 Hive 有两种方式:HiveServer2 和 Hive Client,Hive Client 需要 Hive 和 Hadoop 的 jar 包,配置环境。HiveServer2 使得连接 Hive 的 Client 从 Yarn 和 HDFS 集群中独立出来,不需要每个节点都配置 Hive 和 Hadoop 的 jar 包和一系列环境。Ranger 管理 Hive 权限只能针对 HiveServer2 jdbc 方式连接,所以这里需要配置 HiveServer2。原创 2023-04-15 13:11:34 · 740 阅读 · 0 评论 -
数据治理(十一):数据安全管理 Ranger 初步认识
Apache Ranger 提供一个集中式安全管理框架, 并解决授权和审计。它可以对 Hadoop 生态的组件如 HDFS、YARN、Hive、HBase 等进行细粒度的数据访问控制。通过 Ranger 统一的管理控制台界面,管理员可以轻松的通过配置策略来控制用户访问权限,并且可以对用户的行为日志进行统一的审计管理。我们可以通过 Ranger 提供的 UI 界面或者 Rest API 来管理所有与安全性相关的任务,可以使用管理工具来对 Hadoop 体系中的组件进行授权。原创 2023-04-15 13:08:55 · 468 阅读 · 0 评论 -
数据治理(八):Atlas 集成 Hive
Atlas 可以针对多个不同的数据源,统一采用 kafka 作为中间消息传递队列,使元数据源与服务端采用异步方式进行沟通,减少元数据采集对正常业务效率的影响,但是目前的 Atlas 版本监控 Hive 中数据操作比较完善,但是监控 Sqoo(目前只支持 hive import)、Spark 等支持不好。原创 2023-04-15 13:05:51 · 345 阅读 · 0 评论 -
数据治理(六):编译 Atlas 安装包
HBase 又依赖于 HDFS。由于后期安装的 Atlas 版本是 2.1.0 最新版,Atlas 需要监控 Hive 中的元数据,Atlas2.1.0 版本支持的 Hive 版本最低为 3.1.0,HBase 版本最低是 HBase2 版本之上,Hive3.0+版本之上与 Hadoop3.x+版本以上兼容,HBase2 版本与 Hadoop 版本兼容关系如下图示,所以这里综合考虑选择 Hadoop3.1.4 版本,Hive 选择 3.1.2 版本,HBase 选择 2.2.6 版本。原创 2023-04-15 13:02:55 · 450 阅读 · 0 评论 -
数据治理(四):数据仓库数据质量管理
下面我们针对音乐数据中心数仓项目第四个业务:“统计地区营收情况业务”来说明数据质量如何进行管理。此业务数据质量管理重点放在 ODS 层,EDS 层(DWD 层、DWS 层)、DM 层几个方面,每层数据校验的内容不一样,我们可以通过自己编写通用 shell+Hive 脚本或者使用质量监控工具 Griffin 来进行数据质量监控。原创 2023-04-14 14:12:44 · 739 阅读 · 1 评论 -
数据治理(五):元数据管理
元数据(Metadata),通常的定义为"描述数据的数据"。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。元数据管理是数据治理的核心。数据的真正价值在于数据驱动决策,通过数据指导运营。通过数据驱动的方法判断趋势,帮住我们发现问题,继而推动创新或产生新的解决方案。随着企业数据爆发式增长,数据体量越来越难以估量,我们很难说清楚我们到底拥有哪些数据,这些数据从哪里来,到哪里去,发生了什么变化,应该如何使用它们。因此数据治理中的元数据管理成为企业级不可或缺的重要组成部分。原创 2023-04-14 14:10:46 · 846 阅读 · 0 评论 -
数据治理(三):数据质量管理
在大数据早期,做数据治理最主要的目的,就是为了提升数据质量,让报表、分析、应用更加准确。到今天,虽然数据治理的范畴扩大了很多,我们开始讲数据资产管理、知识图谱、自动化的数据治理等等概念,但是提升数据的质量,依然是数据治理最重要的目标之一。因为数据要能发挥其价值,关键在于其数据的质量的高低,高质量的数据是一切数据应用的基础。在数据质量不高的环境下,做数据分析可谓问题重重,数据质量问题已经严重影响了组织业务的正常运营。通过科学的数据质量管理,持续地提升数据质量,已经成为组织内刻不容缓的优先任务。原创 2023-04-14 13:26:17 · 373 阅读 · 0 评论 -
数据治理(二):数据治理功能方面
并且中数据治理通常包含以下几个功能方面: 数据治理包括主数据管理、元数据管理、数据标准管理、数据质量管理、数据集成管理、数据资产管理、数据安全管理、数据交换管理、数据生命周期管理方面。原创 2023-04-14 13:22:56 · 992 阅读 · 0 评论 -
数据治理(一):为什么要数据治理
由于切入视角和侧重点不同,业界给出的数据治理定义已经不下几十种,到目前为止还未形成一个统一标准的定义。数据治理(Data Governance)指的是数据从零散没有规律变为统一规划的数据、从具有很少甚至于没有组织和流程的治理到企业范围内的综合数据治理、从处理数据时的混乱状态到数据井井有条的一个过程。数据治理是一种数据管理的概念,能够确保数据的全生命周期存在高数据质量的能力,其最终目标是提升数据的价值。原创 2023-04-14 13:16:05 · 206 阅读 · 0 评论 -
数据大体系(四)——标签
而当读者需要借阅书籍时,往往先通过书名或其他关于该本书信息的信息(Meta-Data)进行检索,拿到了编目号后,按照书架的编号,找到对应的书籍。正如人类通过仿生学发明了雷达、发明了潜水艇等一样,我们参考图书馆,也可以来对我们的标签进行一些类目的编排,形成我们的标签体系。设想,当您是标签的使用者,当您也不知道有哪些标签时,搜索的关键词,该是啥呢?因为如果要把标签讲清讲透,那么文字、时间成本还是比较高的,涉及标签产品、标签数据的设计、来源抽取、加工、存储、使用,同时也会涉及体系目录等一系列的知识。原创 2023-04-14 13:06:31 · 429 阅读 · 0 评论 -
数据大体系(三)——指标
但这种方式有比较大的弊端——随着业务的发展,很多需要进行衍生的指标,或者另一种形式由衍生指标衍生出的指标,很难在一张表里进行表示。从指标的定义上来讲,只要是一种统计的度量,加上维度的限定,就可以称之为一类指标。因此,dws,dm,ads 层的数据,甚至 dwd/ods,只要最终出来的是一个关系型的数据表(内存中),那就能是一个指标。在实际操作层面,确定指标的来源数据表,固定指标取数的 SQL 以及取数的周期性,要比指标从哪一层得出,要关键得多得多。这篇文章我们讲的是指标,主要探讨的主题是指标应该在哪一层?原创 2023-04-14 13:05:06 · 507 阅读 · 0 评论 -
数据大体系(二)——数仓的一般命名规范
但其本质我们可以进行参考,便是类似金字塔一样,将一个个数据划分到不同的一级、二级、三级目录,以方便我们的管理。在上一节我们聊到,一般的数仓纵向分层,我们会分成 ODS、DWD、DWS、DM/ADS ,按照这类简单的数据分层方式,将数据的加工流向进行标准化。因此,其操作行为主要是数据集成。一般指的是,我们的 DM 集市的更新周期,例如 1d 是更新周期为 1 天,1m 是一个月,7d 是 7 天这样。不过,dm 也有可能会形成跨一级主题域的大的指标集市,这时候并不一定要做强制规范,可以灵活变动。原创 2023-04-14 13:04:00 · 1391 阅读 · 0 评论 -
数据大体系(一)——数据纵向分层
然而,数据仓库天生是为了分析服务的,所以我们更加系统,能有一张表,能将一个主体具备的属性都放在一起,这样每次在进行统计形成指标时,属性都有成为一个维度的潜力。DWD 明细层列好后,DWS 轻聚合层,主要做的事情,是将 DWD 或者 ODS 层的数据,按照报表、分析等需求进行聚合。上面提到,我们会将散落在各个应用系统的数据再额外保存一份,这额外保存的一份,我们一般就称之为 ODS 贴源层数据,这里的分层也就是贴源层。总而言之,DWS 层,主要处理的是一些小型的、轻的聚合性指标,以供其他的上层进行数据调用。原创 2023-04-14 13:01:53 · 279 阅读 · 0 评论 -
大数据Hadoop之——新一代流式数据湖平台 Apache Hudi
简称Hudi,是一个流式数据湖平台,支持对海量数据快速更新,内置表格式,支持事务的存储层、 一系列表服务、数据服务(开箱即用的摄取工具)以及完善的运维监控工具,它可以以极低的延迟将数据快速存储到HDFS或云存储(S3)的工具,最主要的特点支持记录级别的插入更新(Upsert)和删除,同时还支持增量查询。Apache Hudl本身不存储数据,仅仅管理数据,借助外部存储引擎存储数据,比如HDFS;此外,Apache Hudi也不分析数据,需要使用计算分析引擎,查询和保存数据,比如Spark或Flink;原创 2023-04-14 12:08:04 · 1190 阅读 · 0 评论 -
数据湖(九):Iceberg 特点详述和数据类型
Iceberg 支持分区来加快数据查询。在 Iceberg 中设置分区后,可以在写入数据时将相似的行分组,在查询时加快查询速度。Iceberg 中可以按照年、月、日和小时粒度划分时间戳组织分区。在 Hive 中也支持分区,但是要想使分区能加快查询速度,需要在写 SQL 时指定对应的分区条件过滤数据,在 Iceberg 中写 SQL 查询时不需要再 SQL 中特别指定分区过滤条件,Iceberg 会自动分区,过滤掉不需要的数据。原创 2023-04-10 14:57:59 · 819 阅读 · 0 评论 -
数据湖(八):Iceberg 数据存储格式
数据文件是 Apache Iceberg 表真实存储数据的文件,一般是在表的数据存储目录的 data 目录下,如果我们的文件格式选择的是 parquet,那么文件是以“.parquet”结尾,例如:00000-0-root_20211212192602_8036d31b-9598-4e30-8e67-ce6c39f034da-job_1639237002345_0025-00001.parquet 就是一个数据文件。Iceberg 每次更新会产生多个数据文件(data files)。原创 2023-04-10 14:52:56 · 454 阅读 · 0 评论 -
数据湖(七):Iceberg 概念及回顾什么是数据湖
数据湖是一个集中式的存储库,允许你以任意规模存储多个来源、所有结构化和非结构化数据,可以按照原样存储数据,无需对数据进行结构化处理,并运行不同类型的分析,对数据进行加工,例如:大数据处理、实时分析、机器学习,以指导做出更好地决策。原创 2023-04-10 14:46:04 · 257 阅读 · 0 评论 -
数据湖(六):Hudi 与 Flink 整合
Hudi0.8.0 版本与 Flink1.12.x 之上版本兼容,目前经过测试,Hudi0.8.0 版本开始支持 Flink,通过 Flink 写数据到 Hudi 时,必须开启 checkpoint,至少有 5 次 checkpoint 后才能看到对应 hudi 中的数据。原创 2023-04-10 12:28:22 · 484 阅读 · 0 评论 -
数据湖(五):Hudi 与 Hive 集成
Hudi 与 Hive 集成原理是通过代码方式将数据写入到 HDFS 目录中,那么同时映射 Hive 表,让 Hive 表映射的数据对应到此路径上,这时 Hudi 需要通过 JDBC 方式连接 Hive 进行元数据操作,这时需要配置 HiveServer2。此外,我们也可以不需要每次都自己手动添加分区,而是创建好对应的 Hive 表后,在代码中向 Hudi 中写数据时,指定对应的 Hive 参数即可,这样写入的数据自动会映射到 Hive 中。查询 Hive 中对应两张表的数据结果。原创 2023-04-04 21:10:19 · 540 阅读 · 0 评论 -
数据湖(四):Hudi 与 Spark 整合
默认 Spark 操作 Hudi 使用表类型为模式。Hudi 与 Spark 整合时有很多参数配置,可以参照Hudi 这里使用的是 0.8.0 版本,其对应使用的 Spark 版本是 2.4.3+版本Spark2.4.8 使用的 Scala 版本是 2.12 版本,虽然 2.11 也是支持的,建议使用 2.12。maven 导入包中需要保证 httpclient、httpcore 版本与集群中的 Hadoop 使用的版本一致,不然会导致通信有问题。原创 2023-04-04 20:57:07 · 559 阅读 · 0 评论 -
数据湖(三):Hudi 概念术语
Hudi 数据湖可以维护很多张表,与 Hive 类似,数据存储在 HDFS 不同的目录结构中。Hudi 维护了表在不同时刻执行的所有操作的 Timeline,这有助于提供表的瞬时视图。Timeline 是 HUDI 用来管理提交(commit)的抽象,每个 commit 都绑定一个固定时间戳,分散到时间线上。原创 2023-04-04 20:46:30 · 365 阅读 · 0 评论 -
数据湖(二):什么是 Hudi
Apache Hudi 是一个 Data Lakes 的开源方案,Hudi 是 Hadoop Updates and Incrementals 的简写,它是由 Uber 开发并开源的 Data Lakes 解决方案。Hudi 能够基于 HDFS 之上管理大型分析数据集,可以对数据进行插入、更新、增量消费等操作,主要目的是高效减少摄取过程中的数据延迟。Hudi 基于 Parquet 列式存储与 Avro 行式存储,同时避免创建小文件,实现高效率低延迟的数据访问。行和列数据的异步压缩。原创 2023-04-04 20:45:48 · 214 阅读 · 0 评论 -
数据湖(一):数据湖概念
大数据处理、实时分析、机器学习,以指导做出更好地决策。原创 2023-04-04 19:19:52 · 199 阅读 · 0 评论