数据_数据ETL-Data_pipeline-DLT

moving data

Lightweight Python code to move data
  仅仅将数据从 A 点移动到 B 点是没有意义的。 通常希望在将数据写入目标(ETL)之前或之后(ELT)应用转换。
DataOps全链路自动化
   做的成本代价收益风险,不做,主要风险是什么?做了的成本-风险-收益				  

Data pipeline

 异构数据处理
     关键词: 来源去处
	    源地址 source 目标地址 destination 
        数据流 pipeline,  包含三个阶段或步骤three discrete steps :  Extract Normalize  Load 
            pipeline data and state
			pipeline.run()
                pipeline.extract(data)
                pipeline.normalize()
                pipeline.load()	
				
        源地址   @dlt.source
             a list of resources
                dlt.sources.sql_database
         资源:A resource is an (optionally async) function that yields data.
                parallel and async resources  
                resource.add_map  resource.add_filter  resource.add_yield_map
         目标:destination 
              destination="filesystem"	
         状态:state 
              State
        元数据:Schema	 ~/.dlt/pipelines/
            dlt generates schemas from the data during the normalization process. 			
 DLT(Data Load Tool) 
 data load tool (dlt) is an open source Python library that makes data loading easy
  Jun 28, 2022  0.1.0rc4
  Aug 29, 2024  0.5.4
  Sep 16, 2024  1.0.0
  Jul 17, 2025  1.14.1
  Aug 5,  2025  1.15.0
ETL pipelines
   _dlt_load_id _dlt_id
   write_disposition="merge", replace append
      merge primary_key="id",
使用装饰器 Use source decorator	 
    @dlt.source
    @dlt.resource(		

大模型-新一代的操作系统

 大模型正在承担操作系统的角色:成为新一代应用程序运行的平台 从底层模型 API 一直到面向用户的应用程序。
      LLM 是一种基础设施,而不仅仅是另一个工具库
 面向 AI 代理设计:为新一代“用户”提供文档和界面		  

构建具备权限控制与安全隔离的数据架构

Python 依赖注入框架

数据集成的未来之路:dbt(data build tool

 应对数据转换层  
  使用SQL来定义数据转换操作,将其组织成模型(models),并通过依赖关系来管理数据转换流程。
    dbt支持模块化的设计和重用,可以将常用的转换逻辑封装成可复用的模型片段。
 Data Pipelines 
     DLT(Data Load Tool): 构建可扩展的数据管道  

数据清洗流程:

        灵活、高效、强可拓展性的数据清洗流
    更为完整的流程
       从原始的 WARC 文件出发,提供了更加完整的数据 pipeline
    扩展性更高、流程配置化
        采用模块化方案,用户要自定义算法也只需继承原有函数,给定一个配置文件即可定义整个数据清洗流程
    任务流程无感知
            任务被打断重启之后,不会重复处理数据,无需额外异常处理。自动进行任务分配,能方便地进行水平扩容
    速度更快
         基于高速文件系统 3fs(高达 7TB/s 读取,500GB/s 写入),大大提高了文件处理的效率    		 
	质量清洗
        01. 一个在高质量数据上训练好的打分器,用来对 tokenize 之后的数据进行困惑度打分	
        02. 过滤规则
过程
    1.更快、更方便地处理数据, 为每一个 WET 文件生成了对应的 meta 文件,用于存储 WET 的信息摘要		 
	   meta 文件是 WET 的索引,通过更新 meta 中的内容,我们就可以实现对原始 WET 文件的修改、删除等操作。
	     生成文本的 minhash 用于去重,对于每一个文本,会生成一个 128 位的 int64 hash 值
	2.内置了按行去重的功能	
	
管道漂移(pipeline drift)”和数据偏差,
    配置与代码分离(Separate Configuration from Code) 配置和敏感信息永远不要写在代码里。
    松耦合与模块化组件(Loosely Coupled & Modular Components)  
    持续集成与部署(CI/CD)		

对象存储

 fsspec库将许多文件系统抽象为了统一的API
 
 ossfs 能将阿里云对象存储服务OSS挂载成本地文件系统,方便用户像操作本地文件一样管理OSS数据			  
 obsfs 是对象存储服务 (Object Storage Service,OBS)提供的一款基于FUSE的文件系统工具,用于将OBS并行文件系统挂载至Linux系统			  
		FUSE框架 存在内核态与用户态切换,不适合高并发场景 obsfs适用于Linux操作系统
		obsfs的运行环境依赖openssl-devel、fuse、fuse-devel等软件包
 COSFS 工具,GooseFS-Lite  可提供更高的大文件读写速度,不受本地磁盘的性能限制。			
     Linux FUSE(Filesystem in Userspace)是一个允许用户在用户空间实现自定义文件系统的框架
	  Ubuntu  libfuse-dev   ==  CentOS  fuse-devel

数据分析

 数据存储层: 数据存储方式不同
 数据分析层 
 数据缓存层: Alluxio是一个位于计算应用和存储之间的数据缓存层,将数据从存储层缓存到距离数据驱动型应用更近的位置从而能够更容易被访问	
              数据的权限管理较乱
 任务应该逐步移交给 AI,而不是一开始就追求完全自动化 用 AI 的速度与规模去增强人类的判断与创造力				  

数据分析

零磁盘架构崛起: 基于S3等远程存储的架构成为主流,SlateDB、Apache HoraeDB等新系统原生支持 Diskless架构
    以对象存储为核心设计理念 架构的简单和低存储成本
  零磁盘架构(Zero-Disk Architecture)
轻量级分析处理能力  
数据库彻底变为无状态
      元信息存储 常见的选择是使用协调服务
      数据存储 S3  MinIo
	  日志存储 日志存储的选型因差异化
        例如:ETCD作为元信息存储,Kafka作为日志存储,S3/Minio作为主存储并配合本地内存/磁盘进行缓存
		      推动 消息中间件 的性能优化,还将对 AI 系统 和 数据库 的云原生
	
    使用文件系统作为源并以 DuckDB 作为目标的新管道			

参考

https://github.com/dlt-hub/dlt 
https://dlthub.com/docs/walkthroughs/dispatch-to-multiple-tables
 150T大数据warc检索系统低成本解决方案 https://zhuanlan.zhihu.com/p/1939097070666490860 
 数据架构的12法则(The 12-Factor Data Architecture):现代数据系统的 https://zhuanlan.zhihu.com/p/1916540671419982557	
 https://www.datacamp.com/tutorial/python-dlt	 
 https://www.datacamp.com/tutorial/python-dependency-injection
posted @ 2025-08-20 16:20  辰令  阅读(20)  评论(0)    收藏  举报