数据提取工具设计

数据提取概述

跟据https://whatis.techtarget.com/definition/data-ingestion网页定义:

Data ingestion is the process of obtaining and importingdata for immediate use or storage in a database. To ingest something is to "take something in or absorb something."Data can be streamed in real time or ingested in batches.

数据提取(Data Ingestion)是获取和导入数据以供立即使用或存储在数据库中的过程。 提取某些东西就是“拿走某些东西或吸收某些东西”。 数据可以实时流式传输或分批提取。

实际项目需求

  1. 从上游系统接口或文件系统获取数据(文件)
  2. 对指定数据进行筛选
  3. 对指定数据进行转换
  4. 传输给下游系统(数据库、数据仓库、数据湖、流式处理接口)

系统设计

  • 数据格式

数据提取位于数据湖架构的最下层,用于从上游系统获取数据传输给数据湖,需要实现跨系统分布式查询,对于下游系统也要求兼容各种数据平台和产品。REST API是很多数据系统及平台都支持的功能,而REST架构风格倾向于采用JSON数据格式,所以此系统在向下游系统传输的数据格式倾向于使用JSON数据格式。

  • 上游系统

目前识别的系统包括:文件系统、REST API、ElasticSearch查询接口(REST API)

文件系统需支持基本数据格式,如CSV格式、Excel格式,同时也应支持JSON数据格式。对于Excel格式,因其有丰富的展示形式,可能需要进行预处理,比如去除Excel报表中的表头或提取固定Sheet中的数据内容。对于CSV格式需要定义或从文件中提取各字段名称。对于REST API应支持多种形式的验证,如Basic验证和OAuth验证。对于同一REST API可能需要根据不同的参数进行查询,我们需要设计可定制化、可分页查询机制满足其要求。

  • 提取/转化

提取规则包括:数据提取包括读取节点设置,用于指定读取的位置,如Excel中的Sheet或单元格位置和JSON数据中的节点位置;读取数据卷尺寸设置,根据数据卷尺寸分页数据集向下游系统传递以满足下游系统对数据接收限制的要求,如某系统可能只能接收2M的文件。

转化规则包括:根据特定字段聚集数据并将其余字段转化为集合,如多条CSV数据根据主要字段合并成一条JSON数据。自定义转换规则,如将数据中的数字1转换为星期一等。

  • 数据发送

调用下游系统REST API接口进行数据发送,按配置通过API验证,如Basic或OAuth验证。按数据卷传送数据,如遇发送失败按预先设置重试。可根据配置在请求间按固定时间等待,满足下游系统的调用限制。根据返回状态处理并可通过再运行继续发送任务。

框架选取

因项目技术栈熟悉程度,采用.NET Core创建工具,.NET Core可实现工具跨平台。

原文地址:https://www.cnblogs.com/richardcuick/p/10669821.html

时间: 2024-10-09 20:13:17

数据提取工具设计的相关文章

Modbus通用数据读取工具设计及使用

一.公共功能码定义 二.能读取的数据类型 1.bit类型,比如01功能码,读到的就是位的状态,是ON 还是OFF,也就是对应着0或1. 2.byte类型,比如03功能码. 3.short类型,比如03功能码. 4.int32类型.也还是比如03功能码. 三.整数型和小数型的转换等 1.Modbus协议进行通信的时候,所有的数据都是以整数表示,因此,实际的数据,和接收到的数据,还有有一定的差异的,需要乘以一定的比例系数. 2.在接收到的数据进行转换的时候,因为产家的不同,因此会有小数点后面的精度也

SqlMDF数据提取工具

1.断电导致数据库文件损坏.2.企业管理器误删除数据表记录,账套管理器删除. 3.并闩锁错误 格式化 误删除后导致软件不能使用的情况.4.普通数据恢复软件恢复出来的数据库不能使用的情况,我们会会从碎片提取修复.5.系统表损坏.索引错误.误删除数据库表.删除记录的数据找回.6..系统崩溃只剩下Sqlserver数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复.7.SqlServer数据文件内部存在坏页情况下的恢复.8.在Sql Server运行在简单日志模式.完全日志模式或者大容量

信息批量提取工具bulk-extractor

信息批量提取工具bulk-extractor 在数字取证中,通常需要面对海量的数据,如几百GB甚至TB级别的数据.从这些海量数据中,提取有价值的数据是一个漫长.枯燥.繁琐的过程.Kali Linux提供一款批量数据提取工具bulk-extractor.该工具采用C++语言编写,可以从备份镜像文件中自动提取各种数据,如电话号码.信用卡号.邮件地址.EXIF.GPS.Prefetch等信息.为了方便分析,该工具还会对提取的信息进行分析,统计信息出现的频率.该工具的每项信息收集提取功能均以插件形式实现

数据访问工具 DAF 中 ResourceIDService 服务的接口 设计与实现

http://www.paper.edu.cn- 1 -数据访问工具 DAF 中 ResourceIDService 服务的接口设计与实现服务的接口设计与实现陶昕,高锦标华东交通大学信息工程学院,南昌(330013)E-mail:[email protected]摘 要:ResourceID 是 64 位整型数据,是用来定位能量系统中唯一性资源的标识,ResourceIDService 服务是 Data Access Facility 规范简称为 DAF 中的一个重要服务接口,提供了 Resou

Modbus RTU 通信工具设计(转)

Modbus RTU 通信工具设计 Modbus 是一个工业上常用的通讯协议.一种通讯约定. ModBus 协议是应用层报文传输协议(OSI 模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域. ModBus 协议能够应用在不同类型的总线或网络.对应不同的总线或网络,Modbus 协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU.目前,Modbus 有下列三种通信方式: 1.    以太网,对应的通信模式是Modbus TCP. 2.

39个大数据可视化工具

无论是在行政演示中为数据点创建一个可视化进程,还是用可视化概念来细分客户,数据可视化都显得尤为重要.本文将推荐39个可用于处理大数据的可视化工具. <img class="size-full wp-image-407608 aligncenter" src="http://image.woshipm.com/wp-files/2016/09/dashuju-1.png" alt="dashuju-1" width="

基于Bootstrap框架的临床数据管理系统的设计与开发

    基于Bootstrap框架的临床数据管理系统的设计与开发     2018年11月10日 目  录 第一章绪论... 6 1.1 选题背景及其意义... 6 1.2国内外研究现状... 7 1.2.1 临床大数据管理系统发展现状... 7 1.2.2医疗电子表单管理发展现状... 8 1.3研究目标... 9 1.4 研究内容... 10 1.5论文整体结构... 10 第二章相关技术研究... 12 2.1 AngularJS技术简述... 12 2.2 RESTful API +sw

大数据平台架构设计探究

本文首发于 vivo互联网技术 微信公众号? 链接:https://mp.weixin.qq.com/s/npRRRDqNUHNjbybliFxOxA 作者:刘延江 近年来,随着IT技术与大数据.机器学习.算法方向的不断发展,越来越多的企业都意识到了数据存在的价值,将数据作为自身宝贵的资产进行管理,利用大数据和机器学习能力去挖掘.识别.利用数据资产.如果缺乏有效的数据整体架构设计或者部分能力缺失,会导致业务层难以直接利用大数据大数据,大数据和业务产生了巨大的鸿沟,这道鸿沟的出现导致企业在使用大数

55种开源数据可视化工具简介

55种开源数据可视化工具简介 雪姬 2015-04-21 11:47:56 数据可视化 评论(2)   数据时代数据可视化成为理解和表达数据的有效甚至是唯一的手段. 一共56个,盘点最实用的大数据可视化分析工具 工欲善其事必先利其器,本文对55个流行的数据可视化工具开源协议,主页,文档,案例等资源的进行简单介绍,其中包括著名的D3.js,R,Gephi,Raphaël,Processing.js,Tableau Public,Google Chart Tools,Arbor.js等,资料来源ht