有效识别差异

2023-12-19

每天,我们都会收到来自不同供应商的不同格式(CSV、XML、自定义)的巨大文件,我们需要将这些文件上传到数据库中以进行进一步处理。

问题是这些供应商将发送其数据的完整转储,而不仅仅是更新。我们有一些应用程序,我们只需要发送更新(即仅发送更改的记录)。我们当前所做的是将数据加载到临时表中,然后将其与以前的数据进行比较。由于数据集巨大并且我们偶尔会丢失 SLA,因此速度非常慢。

有没有更快的方法来解决这个问题?任何建议或帮助都非常感激。我们的程序员已经没有想法了..


有多种模式可用于检测增量,即完整转储数据集中的更改记录、新记录和删除记​​录。

我见过的更有效的方法之一是创建已有数据行的哈希值,在导入进入数据库后创建哈希值,然后将现有哈希值与传入哈希值进行比较。

主键匹配+哈希匹配=未更改的行

主键匹配 + 哈希不匹配 = 更新的行

传入数据中的主键但现有数据集中缺少主键 = 新行

主键不在传入数据中,而是在现有数据集中 = 已删除行

哈希的方式因数据库产品而异,但所有主要提供商都提供某种类型的哈希。

优点在于只需比较少量字段(主键列和哈希),而不是逐个字段进行分析。即使很长的哈希值也可以很快地被分析。

它需要对导入处理进行一些返工,但所花费的时间将在提高处理速度方面一次又一次地得到回报。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有效识别差异 的相关文章

  • SQLite (Android):使用 ORDER BY 更新查询

    Android SQLite 我想要在 myTable 中的其他行之间插入行在android中使用SQLite 为此 我尝试增加从第 3 行开始的所有行的 id 这样 我就可以在位置 3 处插入新行 myTable 的主键是列 id 表中没
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 一个表可以有多个主键吗?

    我现在很困惑 也许你可以帮助我更好地理解这个问题 即一个表可以有两个主键 如果是 那么如何 如果没有 那为什么 您询问是否可以有多个主键field你当然可以 您只能有一个主键 但它可以包含唯一标识行所需的任意数量的列 创建表时使用类似这样的
  • 数据聚合和缓存:如何按时间间隔快速绘制大型时间序列数据集的图表

    我有一个巨大的时间序列数据集 我想绘制图表 时间序列可以追溯到 5 年前 从后端的角度来看 以各种分辨率 间隔 显示这些数据的常用方法是什么 本质上我想绘制这样的数据图表 https bitcoinwisdom com markets bi
  • 需要 SQL 查询澄清[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个由以下列组成的表 billid patientid doctorid fees 如何显示治疗多名患者的医生 尝试了以下代码并得到了
  • 可以重复应用并产生相同结果的数据库操作吗?

    我现在一片空白 或者像有些人说的那样 正在经历一个高级时刻 我知道这个概念有一个正式的定义和名称 其中在数据库中运行的数据库操作 存储过程 如果重复运行将产生相同的结果 它属于数学家的自反 对称 传递等类型 您的意思是 确定性 吗 如果使用
  • Java递归方法求阶乘返回负输出[重复]

    这个问题在这里已经有答案了 我知道这是溢出 但问题是 20 是相对较小的数字 这不应该发生 对吧 有没有更好的方法来查找大数 例如 1000 的阶乘 而不会得到这种奇怪的结果 public class RecursiveFunctionsE
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • NVARCHAR 变量在Where 子句中不起作用

    在 SQL Server 我想是 2018 我不知道如何判断 中 我的变量不起作用WHERE的条款NVARCHAR 比较应该返回值 但它什么也没返回 如果我只是手动输入声明的文本 它会突然起作用并返回值 没有任何逻辑原因应该有任何不同 类型
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • H2 SQL 日期比较

    在 H2 数据库中 如何在 TIMESTAMP 类型的列上运行查询 SELECT FROM RECORDS WHERE TRAN DATE lt 2012 07 24 Try 2012 07 24
  • 更好地理解 SQL Server 中的架构

    就像标题一样 我还是一个SQLServer菜鸟 当我创建表 Mytable 时 数据库中显示 dbo Mytable 但有人能让我更好地理解模式吗 另外 在 Server 2008 TSQL 一书中 Itzik 说 在你的数据库中 表属于模
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • AWS RDS MySql - 如何在设置“公开可用”后允许访问

    刚刚使用默认设置和用户 密码创建了新的 AWS RDS MySql 实例 我也将其设置为publicly available并在此过程中创建新的 VPC 目前无法从我的笔记本电脑连接到此 RDS mysql h endpoint u myu
  • dbms_xmlgen.getxml - 如何设置日期格式

    我们使用 dbms xmlgen getxml 实用程序通过 SQL 查询生成 xml 该查询从几乎 10 15 个相关表中获取数据 默认情况下 日期格式生成于dd MMM yy格式 有什么方法可以在 dbms xmlgen getxml
  • 更改mysql数据库表中的日期格式

    大家早上好 只是一个简单的问题 在我现有的 MySql 数据库中 我几乎没有包含日期 的列 目前这些是年 月 日格式 但现在我需要将其全部更改为年 月 日格式 我试过了select date format curdate d m Y 但它不
  • Oracle:按月分区表

    我的解决方案 德语几个月 PARTITION BY LIST to char GEBURTSDATUM Month PARTITION p1 VALUES JANUAR PARTITION p2 VALUES Februar PARTITI
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013

随机推荐

  • Laravel 5.1 - 路线不起作用

    我的路线有问题 我有我的路线 Route get dashboard password UserController password Route post dashboard updatepassword UserController u
  • 如何在Nuxt3配置中配置vite HMR端口?

    我在 Docker compose 设置中使用 Nuxt3 其中端口 8001 是通过 nginx 反向代理通道运行 Nuxt3 的节点容器的可访问端口 我的 nuxt config ts 看起来像这样 import defineNuxtC
  • ActivityUnitTestCase 和 ActivityInstrumentationTestCase2 之间的区别

    我是 Android Instrumentation 案例的新手 我一直在查看 API 示例 发现有时我们使用 ActivityUnitTestCase 和 ActivityInstrumentationTestCase2 两者有什么区别
  • 不同类型的数据库索引?

    我正在尝试编译非系统特定数据库索引的列表 我研究过 Oracle DB2 MySQL Postgres 和 Sybase 几乎每个资源都有不同的列表 到目前为止我已经看到 clustered multi dimensional cluste
  • 如何使用javascript中的函数应用复选框?

    如何使用javascript中的函数应用复选框 未选中复选框时如何隐藏具有特定标签的帖子 对象 我只需要知道如何设置在打开页面时自动检查复选框的功能以及如何隐藏带有特定标签的帖子 对象的复选框 申请是否正确 display none or
  • 当新文件添加到监视文件夹时,Java NIO 监视服务创建了“ENTRY_CREATE”和“ENTRY_MODIFY”

    我使用 java nio file WatchService 看到了一个奇怪的行为 不确定这是预期的行为 问题是我有一个向 WatchService 注册的文件夹 当我将一个新文件复制到此文件夹中时 会生成两个 WatchEvent 每个事
  • 下载当前 html 文件

    怎么可能让用户下载当前的html页面呢 网页使用ajax加载文本 所以我的代码不起作用 因为它下载了页面的原始状态 a href URL OF THIS PAGE Download a a href Download a 这是如何运作的 我
  • 如何确定 Java 中泛型字段的类型?

    我一直在尝试确定类中字段的类型 我已经看过所有的内省方法 但还没有完全弄清楚如何去做 这将用于从 java 类生成 xml json 我已经查看了这里的一些问题 但还没有找到我真正需要的 Example class Person publi
  • 在 Bootstrap 3 中将页面宽度设置为最大 970px

    我正在使用 Bootstrap 3 构建一个可以在移动设备和桌面上良好显示的网站 客户告诉我页面的最大宽度只能是970px 我如何使用 Bootstrap 3 执行此操作以确保 页面仍然位于浏览器屏幕中央吗 Bootstrap 3 中的所有
  • Android 在两个视图之间放置一个图像视图

    我需要创建一个如图所示的布局 带箭头的圆形按钮需要恰好位于蓝色和灰色背景之间 我在没有精确指定边距的情况下放置它时遇到困难 这是我不想做的事情 因为不能保证它在所有分辨率和设备上都会看起来很好 我希望有一个 xml 示例 Thanks 使用
  • 如何在不指定确切按键的情况下读取用户按下的按键?

    基本上我需要的是如何缩短我的代码的想法 所以我现在拥有的是一个 IF 系列来获取用户按下的键 if Input GetKeyDown KeyCode I AddToBuffer I else if Input GetKeyDown KeyC
  • Firebase:如何有效跟踪用户/记录更改历史记录

    关于这个问题有很多讨论 但几乎都是在 SQL 中处理 所以据我所知 其中很多内容对于我的问题来说是不适用的 我正在编写一个 CRUD 应用程序react redux a firebase后端 AWS lambda必要时发挥作用 我的用户将有
  • import 和 require 一起使用

    最近我进入了这个 import foo require foo 这听起来很奇怪 因为我通常这样使用 require var foo require foo 或者像这样导入 import foo from foo 那么 这有什么意义呢 查看导
  • eclipse已安装但无法启动java返回退出代码= 1

    我最近安装了 eclipse dsl juno SR1 win32 x86 64 并在提取文件后 当我开始运行 Eclipse 时 出现以下错误 Java 已启动但返回退出代码 1 所需的 java 版本 1 5 我检查了原因 也尝试重新安
  • EF Core 1.0 - Include() 生成多个查询

    我正在使用 EF 7 0 0 rc1 final 以下语句在服务器上生成多个查询 这是正常现象还是我遗漏了什么 Group myGroup dbContext Set
  • 使用 GhostScript 转换为 CMYK 时,CMY 通道上显示黑色

    我正在尝试使用名为的库生成 PDFwkhtml转pdf https wkhtmltopdf org 创建 RGB pdf 然后我使用 Ghostscript 将其转换为 CMYK 格式 但是 pdf 中的黑色文本不是纯黑色 cmyk 0 0
  • 如何动态分配 github 操作中的运行值

    name test if conditions name test if conditions on push branches master test env TEST BRANCH test EMPTY VALUE jobs test
  • 从字符串中过滤字符[重复]

    这个问题在这里已经有答案了 我需要创建一个函数 它接受两个字符串作为输入 并返回 str 1 的副本 其中删除了 str2 中的所有字符 第一件事是用 for 循环迭代 str1 然后与 str2 进行比较 为了完成减法 我应该创建一个第三
  • 保存之前和加载之后的数据框状态 - 有什么不同?

    我有一个包含一些 SQL 表达式 合并 case when 等 的 DF 我后来尝试映射 平面映射这个 DF 在那里我得到了Task not serializable由于字段包含 SQL 表达式而导致错误 为什么我需要 map flatMa
  • 有效识别差异

    每天 我们都会收到来自不同供应商的不同格式 CSV XML 自定义 的巨大文件 我们需要将这些文件上传到数据库中以进行进一步处理 问题是这些供应商将发送其数据的完整转储 而不仅仅是更新 我们有一些应用程序 我们只需要发送更新 即仅发送更改的