datacleaner第六部分

2024-02-21 18:58
文章标签 部分 第六 datacleaner

本文主要是介绍datacleaner第六部分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第六部分,DataCleaner监视web服务

表的内容

17所示。工作引发
触发服务 轮询执行状态
18岁。库导航
工作文件 结果文件 上传内容存储库 修改结果的元数据 重命名工作 复制工作 删除工作
19所示。度量web服务
指标的背景 可用的指标列表 特定的度量指标的值
20。原子转换(数据清洗服务)
原子转换服务是什么? 调用原子转换

第十七章。工作引发

文摘

DataCleaner网络监视器通常处理的调度工作,但有时你需要手动触发。有时需要手动触发他们的第三方系统。

在这一章,一个web服务引发DataCleaner DataCleaner监视web应用程序的工作是解释说。

表的内容

触发服务 轮询执行状态

触发服务

web服务可及的HTTP URL:

/DataCleaner-monitor/repository/{tenant}/jobs/{job}.trigger

从触发器web服务的响应是一个JSON文档看起来像这样:

{ "status":"PENDING", "logOutput":null, "endDate":null, "beginDate":null, "resultId":"Customer completeness-1349876418933", "triggeredBy":"admin" }

选择这些参数还可以添加:

参数 描述
设置为“真正的”如果服务器应该等到回应之前执行的工作。这将确保客户能够阅读“地位”,要么是“成功”或“失败”(除非出现超时)。
timeoutMillis 在结合使用“块”。设置的最大响应之前等待的毫秒数。

使用这些参数,一个典型的反应是这样的:

{ "status":"SUCCESS", "logOutput": "2012-10-10 16:04:02 - Job execution BEGIN\n 2012-10-10 16:04:02 - Row processing of table Table[name=CUSTOMERS,type=TABLE,remarks=null] BEGIN\n - Query: SELECT \"CUSTOMERS\".\"PHONE\", \"CUSTOMERS\".\"POSTALCODE\", \"CUSTOMERS\".\"ADDRESSLINE1\", \"CUSTOMERS\".\"COUNTRY\", \"CUSTOMERS\".\"CUSTOMERNUMBER\", \"CUSTOMERS\".\"CONTACTFIRSTNAME\", \"CUSTOMERS\".\"CITY\", \"CUSTOMERS\".\"CUSTOMERNAME\", \"CUSTOMERS\".\"CONTACTLASTNAME\" FROM PUBLIC.\"CUSTOMERS\"\n - Expected row count: 133\n 2012-10-10 16:04:02 - Row processing of table Table[name=CUSTOMERS,type=TABLE,remarks=null] SUCCESS\n 2012-10-10 16:04:02 - Result gathered from analyzer: ImmutableAnalyzerJob[name=null,analyzer=Completeness analyzer]\n 2012-10-10 16:04:03 - Job execution SUCCESS", "endDate":"Wed Oct 10 16:04:03 CEST 2012", "beginDate":"Wed Oct 10 16:04:02 CEST 2012", "resultId":"Customer completeness-1349877840924", "triggeredBy":"admin" }

轮询执行状态

通常是不实际使用“块”服务参数,如果工作是一项长期的工作。而不是您可以检索作业执行URL使用此服务的状态:

/DataCleaner-monitor/repository/{tenant}/logs/{resultId}

resultId的URL在这一部分想匹配的resultId来自触发器服务的反应。

服务的响应将执行状态的XML表示。例如:

<ns4:execution-log xmlns="http://eobjects.org/datacleaner/schedule/1.0" xmlns:ns2="http://eobjects.org/datacleaner/shared/1.0" xmlns:ns3="http://eobjects.org/datacleaner/timeline/1.0" xmlns:ns4="http://eobjects.org/datacleaner/execution-log/1.0"> <ns4:result-id>Customer duplicates-1347004507995</ns4:result-id> <ns4:job-begin-date>2012-09-07T09:55:10.607+02:00</ns4:job-begin-date> <ns4:job-end-date>2012-09-07T09:55:19.661+02:00</ns4:job-end-date> <ns4:execution-status>SUCCESS</ns4:execution-status> <ns4:trigger-type>MANUAL</ns4:trigger-type> <ns4:triggered-by>admin</ns4:triggered-by> <schedule> <alerts/> </schedule> <ns4:log-output> 2012-09-07 09:55:10 - Job execution BEGIN 2012-09-07 09:55:10 - Row processing of table Table[name=CUSTOMERS,type=TABLE,remarks=null] BEGIN - Query: SELECT "CUSTOMERS"."PHONE", "CUSTOMERS"."STATE", "CUSTOMERS"."POSTALCODE", "CUSTOMERS"."ADDRESSLINE1", "CUSTOMERS"."ADDRESSLINE2", "CUSTOMERS"."COUNTRY", "CUSTOMERS"."CUSTOMERNUMBER", "CUSTOMERS"."CONTACTFIRSTNAME", "CUSTOMERS"."CITY", "CUSTOMERS"."CUSTOMERNAME", "CUSTOMERS"."CONTACTLASTNAME" FROM PUBLIC."CUSTOMERS" - Expected row count: 130 2012-09-07 09:55:12 - Row processing of table Table[name=CUSTOMERS,type=TABLE,remarks=null] SUCCESS 2012-09-07 09:55:12 - Result gathered from analyzer: ImmutableAnalyzerJob[name=null,analyzer=Duplicate detection] 2012-09-07 09:55:19 - Job execution SUCCESS </ns4:log-output> </ns4:execution-log>

第18章。库导航

文摘

在这一章里,我们将学习如何使用web服务url导航DataCleaner储存库。存储库可以在根DataCleaner监视web应用程序的水平。访问当然是局限于租户的主文件夹。因此,所有这些web服务位于url从形式:

/DataCleaner-monitor/repository/DC/...

其中“直流”是租户标识符和DataCleaner-monitor是web应用程序归档文件的名称。

表的内容

工作文件 结果文件 上传内容存储库 修改结果的元数据 重命名工作 复制工作 删除工作

工作文件

工作文件是可用的保留文件夹名称“工作”。让所有的工作文件清单(以JSON格式),至:

/DataCleaner-monitor/repository/DC/jobs

其中“直流”是租户标识符和DataCleaner-monitor是web应用程序归档文件的名称。

结果将像这个例子的结果:

[ {"repository_path":"/DC/jobs/Contributor name cleansing.analysis.xml", "name":"Contributor name cleansing","filename":"Contributor name cleansing.analysis.xml"}, {"repository_path":"/DC/jobs/Customer completeness.analysis.xml", "name":"Customer completeness","filename":"Customer completeness.analysis.xml"}, {"repository_path":"/DC/jobs/Customer duplicates.analysis.xml", "name":"Customer duplicates","filename":"Customer duplicates.analysis.xml"}, {"repository_path":"/DC/jobs/product_profiling.analysis.xml", "name":"product_profiling","filename":"product_profiling.analysis.xml"} ]

进一步导航到一个存储库路径,你可以阅读完整的XML描述的工作,如所描述的分析工作文件一章:

/DataCleaner-monitor/repository/DC/jobs/product_profiling.analysis.xml

“直流”租户标识符的地方,“product_profiling”工作和“DataCleaner-monitor”的名字是web应用程序存档的名字。

结果文件

结果文件中可用保留文件夹名称“结果”。让所有的工作文件清单(以JSON格式),至:

/DataCleaner-monitor/repository/DC/results

其中“直流”是租户标识符和DataCleaner-monitor是web应用程序归档文件的名称。

结果将像这个例子的结果:

[ {"repository_path":"/DC/results/Customer completeness-1345128427583.analysis.result.dat", "filename":"Customer completeness-1345128427583.analysis.result.dat"}, {"repository_path":"/DC/results/Customer completeness-1345200106074.analysis.result.dat", "filename":"Customer completeness-1345200106074.analysis.result.dat"} ]

进一步导航到一个存储库的路径,你将能够检查分析结果,显示在HTML格式。

/DataCleaner-monitor/repository/DC/results/Customer completeness-1345200106074.analysis.result.dat

“直流”租户标识符的地方,“客户完整性”是工作的名称,“1345200106074”是结果的时间戳和“DataCleaner-monitor”是web应用程序存档的名字。

上传内容存储库

文件可以使用HTTP POST上传请求上载到存储库中。可上传的文件的类型是:

  1. (.analysis DataCleaner工作。xml文件)使用这个URL模板,上传:

    POST /DataCleaner-monitor/repository/{tenant}/jobs/{job}.analysis.xml

    请求参数的文件是一个多部分文件包含新工作文件的内容。

  2. (.analysis.result DataCleaner结果。dat文件)使用这个URL模板,上传:

    POST /DataCleaner-monitor/repository/{tenant}/results/{result}.analysis.result.dat

    请求参数的文件是��个多部分文件包含新的结果文件的内容。

  3. 配置(conf.xml文件)使用这个URL模板,上传:

    POST /DataCleaner-monitor/repository/{tenant}/conf.xml

    请求参数的文件是一个多部分文件包含配置文件的内容。

修改结果的元数据

在某些情况下,您可以有结果DataCleaner监控存储库中没有正确配置。特别是我们有时看到这些情况:

  1. 的注册日期的结果可能不是正确的,如果结果是比它所代表的数据在稍后的时间。

  2. 相关工作的名称是错误的,如果从桌面应用程序,但结果是上传客户端工作的引用。

为了解决这种情况,有一个结果修改web服务可用。服务需要管理的安全角色。

请求URL的URL是一样的检查结果,但.analysis.result。dat”被替换为“.modify”:

POST /DataCleaner-monitor/repository/{tenant}/results/{result}.modify

POST请求的身体需要一个JSON文档,指定新的结果的元数据文件。这里有一个例子:

{ "job":"name of new job", "date":"2012-10-17 21:47:00", "overwrite":true }

重命名工作

重命名工作DataCleaner监控存储库是修改可能通过专用网络服务的工作。

请求URL相同的URL vieweing工作XML,但是.analysis。xml”被替换为“.modify”:

POST /DataCleaner-monitor/repository/{tenant}/jobs/{job}.modify

POST请求的身体需要一个JSON文档,指定新的结果的元数据文件。这里有一个例子:

{ "name":"new name of job", "overwrite":true }

复制工作

DataCleaner监控存储库中复制一份工作是复制可能通过专用网络服务的工作。

请求URL相同的URL vieweing工作XML,但是.analysis。xml”被替换为“.copy”:

POST /DataCleaner-monitor/repository/{tenant}/jobs/{job}.copy

POST请求的身体需要一个JSON文档,指定新的结果的元数据文件。这里有一个例子:

{ "name":"name of copy " }

删除工作

DataCleaner监控存储库中删除一个工作是删除可能通过专用网络服务的工作。

请求URL相同的URL vieweing工作XML,但是.analysis。xml”被替换为“delete”:

还请注意, 所有相关的结果,时间表和日程将被删除,删除工作。

POST /DataCleaner-monitor/repository/{tenant}/jobs/{job}.delete

POST请求不需要参数或身体的信息。

19章。度量web服务

文摘

使用web服务访问数据质量标准也可能使用DataCleaner监视器。在这一章里,我们将解释。

表的内容

指标的背景 可用的指标列表 特定的度量指标的值

指标的背景

数据质量标准都包含在结果文件。根据产生结果的工作,结果可能包含不同的指标。例如,如果你有一个值分布分析仪的工作,你的结果会公开“价值”指标(以及更多)。

事情进一步复杂化,一些指标参数化。一个度量可以参数化 列名或者一个 查询字符串例如,一些分析程序(如字符串分析仪或数字分析仪)记录指标同时为多个列。检索指标从这些分析需要提供一列名称作为一个参数。其他指标的“价值”度量值分布需要一个字符串参数,指定值的计算。

可用的指标列表

得到一系列指标暴露于一个特定的结果,使用以下URL模式:

GET /DataCleaner-monitor/repository/DC/results/[resultname].metrics

这里有一个例子的结果:

[ {"children":null,"analyzerDescriptorName":"Completeness analyzer","metricDescriptorName":"Row count", "analyzerName":null,"analyzerInputName":null,"parameterizedByColumnName":false,"parameterizedByQueryString":false, "metricDisplayName":null,"metricColor":null,"formula":null,"paramColumnName":null,"paramQueryString":null}, {"children":null,"analyzerDescriptorName":"Completeness analyzer","metricDescriptorName":"Valid row count", "analyzerName":null,"analyzerInputName":null,"parameterizedByColumnName":false,"parameterizedByQueryString":false, "metricDisplayName":null,"metricColor":null,"formula":null,"paramColumnName":null,"paramQueryString":null}, {"children":null,"analyzerDescriptorName":"Completeness analyzer","metricDescriptorName":"Invalid row count", "analyzerName":null,"analyzerInputName":null,"parameterizedByColumnName":false,"parameterizedByQueryString":false, "metricDisplayName":null,"metricColor":null,"formula":null,"paramColumnName":null,"paramQueryString":null} ]

从指标列表中我们可以看到,携带3度量的结果 完整性分析仪这个分析器只暴露了一些基本指标,这使得它一个很好的例子,但大多数其他分析仪暴露更多。

特定的度量指标的值

使用可用的指标我们之前看到的,我们可以构建自己的感兴趣的指标列表。这个列表可以发送到相同的URL的HTTP POST请求:

POST /DataCleaner-monitor/repository/DC/results/[resultname].metrics

作为请求体我们需要提供我们感兴趣的指标列表。Null值可以被排除在外。例如:

[ {"analyzerDescriptorName":"Completeness analyzer","metricDescriptorName":"Valid row count"}, {"analyzerDescriptorName":"Completeness analyzer","metricDescriptorName":"Invalid row count"} ]

这将返回一个响应如下:

{ "metricDate":1346154850730, "metricValues":[ {"displayName":"Valid row count","value":123}, {"displayName":"Invalid row count","value":19}] }

第20章。原子转换(数据清洗服务)

文摘

在这一章里,我们将学习如何使用DataCleaner监视器作为web服务调用DataCleaner工作需/动态数据清理操作。像导航库的情况下,这些web服务位于url从形式:

/ DataCleaner-monitor /仓库/ DC /…

其中“直流”是租户标识符和DataCleaner-monitor是web应用程序归档文件的名称。

表的内容

原子转换服务是什么? 调用原子转换

原子转换服务是什么?

DataCleaner工作通常作用于批记录,例如所有的记录在一个CSV文件。然而,任何DataCleaner工作也可以用来处理单记录。这一特性称为“原子转换”。这种转换可以作为数据处理管道在SOA架构的一部分或在web应用程序中灵活的数据处理需求。

创建一个原子转换是很容易的。可以使用任何DataCleaner工作执行原子转换。简单地创建一个工作做一些转换(从一个简单的字符串长度的操作到一个完整的链地址清洗和正则表达式解析),和工作在DataCleaner监控存储库中。专门的web服务端点将自动使用工作作为一个原子转换。端点URL将:

/DataCleaner-monitor/repository/DC/jobs/[jobname].invoke

调用原子转换

原子转换调用服务的合同是动态的,根据合同所定义的源数据和转换数据的工作。

web服务是基于JSON数据。您需要提供相对应的JSON数据的原始记录格式的工作。

例如,假设一个工作,定义以下JavaScript变换有两个源列(POSTALCODE和国家):

web服务将因此希望每个JSON记录包含两个值。服务接收一个或多个记录在它的有效载荷。使用一个HTTP POST的身体像这样(3记录和2列):

{"rows":[ {"values":["2200","DK"]}, {"values":["2200",""]}, {"values":["DK2200","DK"]} ]}

和产生的响应的身体是这样的:

{ "rows":[ {"values":["DK2200"]}, {"values":["2200"]}, {"values":["DK2200"]} ], "columns":[ "Country postalcode" ] }

注意,请求的内容类型的头��假定为application / json。

这篇关于datacleaner第六部分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/732753

相关文章

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

VB和51单片机串口通信讲解(只针对VB部分)

标记:该篇文章全部搬自如下网址:http://www.crystalradio.cn/thread-321839-1-1.html,谢谢啦            里面关于中文接收的部分,大家可以好好学习下,题主也在研究中................... Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口

node快速复制文件或文件夹,排除部分文件(node_modules)

const fs = require('fs')const path = require('path')/*** @description: 获取完整的文件路径* @param {*} url 路径* @return {*} 返回完整的文件路径*/const getPath = (url) => {return path.join(__dirname, url)}/*** @descr