问题标签 [pipelinedb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
18 浏览

postgresql - 尝试解析 PipelineDB 中的数据类型并将错误流式传输到失败的文本表?

我们使用 Pipeline DB 将数据接收到流式表中,并在两个流式视图中,在一个视图中过滤掉类型转换验证错误失败的记录,而在另一个视图中过滤掉类型转换错误失败的记录。理想情况下,我们试图将好记录与坏记录分开,并将它们具体化为两个决赛桌。

例如,系统被配置为以 YYYY/MM/DD HH24:MI:SS 格式接收来自第三方的数据,但由于某些原因,值显示在日期和月份被翻转的位置。在 PipelineDB 中,由于使用 PostGres SQL “to_timestamp(mycolumn,'YYYY/MM/DD HH24:MI:SS')” 如果“mycolumn”中的文本类似于“2019/15/05 13”,则会引发硬错误: 10:24'。并且在该事务中输入到流中的任何记录都会回滚。(因此,如果使用 PG Cop​​y,一条记录未能通过物化流视图会导致将零条记录全部插入。这在数据自动化中不是理想的场景,在这种情况下,第 3 方自动化系统可能不太关心我们要处理的问题它的数据。)

从我所看到的: - PostGres 没有“本地 SQL” 方法来执行“尝试解析” - PipelineDB 不支持用户定义的函数(如果我们编写了一个具有两个输出的函数,一个用于解析值,另一个返回布尔“is_valid”列)。(我的假设是该函数驻留在服务器上,而 pipelinedb 作为外部服务器执行,这完全是另一回事。)

理想情况下,如果函数有效,则函数返回类型转换值和布尔标志,并且可以在流视图的 WHERE 子句中使用它来从坏记录中分叉好记录。但我似乎无法解决这个问题?有什么想法吗?