首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调节工具[比较两组大的记录]

调节工具[比较两组大的记录]
EN

Stack Overflow用户
提问于 2017-02-01 17:47:25
回答 3查看 3.3K关注 0票数 3

我被要求构建一个可以比较两个大型数据集的协调工具(我们可以假设输入源是两个优点)。

excel中的每一行包含40-50个列,记录将在每个列级别上进行比较。每个文件包含近300万条记录,或者大约4-5 GB的data.data可能不是排序格式的。

如果我能得到一些提示,我会很感激的。以下技术是否适合

  1. 阿帕奇火花
  2. Apache Spark + Ignite假设时间框架间的实时协调
  3. +
  4. 任何关于建立内部工具的建议。
EN

回答 3

Stack Overflow用户

发布于 2017-07-04 07:34:34

我也一直在做同样的事情-

您可以使用Pyspark/Scala将csv文件加载到临时表中,并在创建的临时表之上进行查询。

票数 0
EN

Stack Overflow用户

发布于 2017-10-04 12:44:11

首先是一个警告:

编写协调工具包含了许多小麻烦和边缘情况,如日期格式、数字格式(数字逗号、科学表示法等)、复合键、阈值、忽略列、忽略页眉/页脚等。

如果您只有一个要使用定义良好的输入的文件,那么请考虑自己执行它。

但是,如果您可能会尝试将其扩展为更通用的,那么如果可以的话,请为现有的解决方案付费,因为从长远来看,它会更便宜。

潜在解决办法:

分布式进程的困难在于如何匹配未排序文件中的密钥。

在一个进程中全部运行它的问题是内存。

作为一个商业rec工具,我采用的方法是将CSV保存到h2中的表中,并使用SQL进行区分。

在这种情况下,H2比Oracle快得多。

如果您的数据结构良好,您可以利用h2直接从CSV加载的能力,如果将结果保存在表中,也可以将输出写入CSV,也可以使用其他框架编写更结构化的输出或将结果流到网页。

如果您的格式是xls(x)而不是CSV,则应该对各种库进行性能测试,以读取文件,因为在处理该大小时存在巨大差异。

票数 0
EN

Stack Overflow用户

发布于 2020-09-20 05:24:00

我一直在努力解决上述问题,这就是解决办法。https://github.com/tharun026/SparkDataReconciler到目前为止的先决条件是

  1. 这两个数据集应该有相同的列数。
  2. 目前,解决方案只接受PARQUETS。

该工具为每一列提供匹配百分比,这样您就可以了解哪些转换出错了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41986313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档