问题标签 [etl]

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 回答
91 浏览

web-services - 关于集成各种数据源的问题

我们有 4 个数据源。2 个数据源是内部的,我们可以直接连接到数据库。对于第 3 个数据源,我们得到一个平面文件 (.csv),并且必须拉入数据。第 4 个数据源是外部的,我们无法直接访问它。

我们需要从所有 4 个数据源中提取数据,在它们上运行业务规则并将它们存储在我们的数据库中。我们有一个运行在该数据库之上的 Web 应用程序。此外,每个月我们都必须提取数据并对现有数据进行任何更新/删除/添加等操作。

我对这个过程几乎一无所知。也请你指点一些好书来研究这个主题。

这些是我正在考虑的当前方法。

  • 编写一个将与内部数据源对话并提取数据的内部 Web 服务。使用中间件创建外部数据源的处理程序(mqseries 已经在其他一些现有项目中为此设置,计划重用它)。再次使用从 csv 文件中提取数据爪哇。在这个数据上运行一些来自 Java 的业务规则。使用这个数据。这种方法可能会在我的开发箱中运行,但不确定 prod 中可能出现的所有问题(特别是由于同步)
  • 使用纯 java jdbc 连接从内部提取数据。对于其余 2 个获取平面文件,使用 sql loader 转储数据。所有数据首先进入临时表。通过 pl/sql 运行业务规则并使用。
  • 使用一些 ELT 工具(如 informatica)在 perl 中提取 data.write 业务规则(由 informatica 调用)

谢谢。

0 投票
5 回答
258 浏览

sql - SQL Server 2005 从外部服务器加载数据

有一个具有以下设置和要求的新项目:-

我的客户在他们的办公室有一台 MSSQL 2005 服务器 (A)。他们的供应商在世界的另一个地方有一个 MSSQL 2005 服务器 (B),其中包含实时事务数据。我的客户希望在非办公时间每天将数据从 (B) 加载到 (A)。他们可以访问(B)的数据读取器,但仅此而已,供应商将不会进行复制、日志传送等,我的客户全权负责获取他们自己的数据,以便他们可以运行自己的报告/多维数据集。

我使用的脚本如下使用分布式TSQL和链接服务器到(B): -

我为 1 个全天的数据对 10 个最大的表进行了初步试验,花了 1 个小时,这太长了。同样对于测试,我已经删除了除了表的主键(包括 1-4 BIGINT 列)之外的所有索引和约束。关于如何加快加载时间或加载数据的任何建议?

编辑:只是补充一下,如果你想知道为什么选择语句是这样写的,在上面的例子中(A)中的表1在一个ETL数据库中,随后将比较数据以确定实际中的插入/更新/删除(A) 中的报告数据库

0 投票
2 回答
541 浏览

sql-server - 大规模 ETL 字符串查找性能问题

我有一个 ETL 过程性能问题。我有一张表,里面有 4+ 十亿行。结构是:

  • idbigint 身份(1,1)
  • raw_urlvarchar(2000) 不为空
  • md5hashchar(32) 不为空
  • job_control_numberint 不为空

id 上的聚集唯一索引和 md5hash 上的非聚集唯一索引

SQL Server 2008 Enterprise 页面级压缩已打开

我们必须将来自网络服务器日志的原始 URL 存储为维度。由于原始字符串 > 900 个字符,我们不能在该列上放置唯一索引。我们使用 md5 哈希函数来创建唯一的 32 个字符的字符串以用于索引目的。我们不能在表中允许重复的 raw_url 字符串。

问题是性能不佳。md5hash 本质上当然是随机的,因此索引碎片驱动到 50%,这导致 IO 效率低下。

寻找有关如何构造它以允许更好的插入和查找性能以及更少的索引碎片的建议。

0 投票
3 回答
291 浏览

database - 关于如何编写健壮的数据传输过程的建议?

我有一个日常流程,它依赖于交付到文件系统上的“投递箱”目录的平面文件,这会将这个逗号分隔的(来自外部公司的 excel 等)数据加载到数据库中,一个零碎的 Perl/Bash 应用程序, 这个数据库被多个应用程序使用,也可以用一些 GUI 工具直接编辑。然后使用一些额外的 Perl 应用程序将一些数据复制到我主要使用的数据库中。

不用说,所有这些都是复杂且容易出错的,输入的数据有时会损坏,有时编辑会破坏它。我的用户经常抱怨丢失或不正确的数据。区分平面文件和数据库以分析流程中断的位置非常耗时,而且每天的数据变得越来越多,难以分析。

我计划修复或重写部分或全部数据传输过程。

在开始之前,我正在查看推荐阅读,有关如何编写健壮、抗故障和可自动恢复的 ETL 流程的网站和文章或其他建议将不胜感激。

0 投票
6 回答
1265 浏览

ms-access - ETL 工具,用于将旧的 Firebird 数据库转移到新的有组织的 Firebird 数据库

在看了很多问题之后..我没有找到真正的答案。

我为我们的客户重新设计了一个数据库。使用 Microsoft Access,我找到了一个很好的工具,可以在我的新数据库结构中获取旧表数据。这真的很容易,但需要很多时间(因为要非常小心地处理旧数据)。

是否有任何开源工具可以带来 Microsoft Access 等功能?

澄清一下:我“只是”想以一种新的“最佳实践”方式重新排序旧的 Firebird 数据库数据。

编辑: 如果我能得到一个日志文件或类似的东西来获得一些关于更改的文档,我会非常好。

更新: 在检查了该维基百科站点的一些工具之后。我发现没有真正的日志记录机制。您如何记录数据库上的更改?简单地写下来?

结果: 所以我没有得到真正的答案......我仍在寻找一个好的工具。谢谢你们对这个问题的提示和想法。我想用 Bounty 奖励 Kenneth Cochran,因为他将我指向 ETL。谢谢!

0 投票
3 回答
1457 浏览

sql - 如何使表与 SQL Server - ETL 中的查询保持同步?

我不知道如何表达这个问题,所以我会尝试解释。我在 SQL Server 2005 上有一个第三方数据库。我有另一个 SQL Server 2008,我也想“发布”第三方数据库中的一些数据。然后我将把这个数据库用作门户和报告服务的后端——它应该是数据仓库。

在目标服务器上,我想将数据存储在与第三方数据库不同的表结构中。我想对一些表进行非规范化,并且有很多列是不必要的。我还需要向一些需要根据存储在同一行中的数据更新的表添加其他字段。例如,有些 varchar 字段包含我想要填充其他列的信息。所有这些都应该清理数据并使其更容易报告。

我可以编写查询以在特定目标表中获取我想要的所有信息。但是,我希望能够使其与另一台服务器上的源保持同步。它不必立即更新(尽管那会很好),但我希望它可能每 10 分钟更新一次。有 100 的数千行数据,但数据的变化和新行的添加等并不大。

我环顾四周,但我仍然不确定实现这一目标的最佳方法。据我所知,复制不会做我需要的。我可以手动编写 t-sql 来执行更新,也许使用 Merge 语句,然后将其安排为使用 sql server 代理的作业。我也一直在看 SSIS,它看起来适合 ETL 之类的东西。

我只是不确定用什么来实现这一点,我希望得到一些关于如何去做这种事情的建议?任何建议将不胜感激。

0 投票
6 回答
2790 浏览

mysql - 将数据从一个数据库移动到具有不同数据结构的另一个数据库

如何将数据从假设 mysql 数据库移动到 postgres 数据库?

场景:两个类似的应用程序。用户想要从一个应用程序切换到另一个应用程序。但是他在以前使用mysql数据库的应用程序中维护了某些数据信息。当他切换应用程序时,他必须将数据从旧应用程序移动到使用postgres的新应用程序。

两个数据库都具有不同的结构和表和表关系,表的数量以及它们下的列。

但是如何将日期从一个数据库移动到另一个数据库?

有什么工具可以做到这一点吗?如果是这样,任何人都可以建议这样的工具..

0 投票
2 回答
3776 浏览

etl - Pentaho Kettle 的架构在哪里?

我在哪里可以找到 Pentaho Kettle 架构?我正在寻找一个简短的 wiki、设计文档、博客文章,以及任何可以很好地概述事物如何工作的东西。这个问题不是针对特定的“如何”入门指南,而是针对技术和架构的良好看法。

我的具体问题是:

  1. 步骤之间的数据如何流动?似乎一切都在记忆中-我对此是否正确?
  2. 以上关于不同的转换是否也是正确的?
  3. 收集步骤是如何实施的?
  4. 使用它有什么具体的性能指南吗?
  5. ftp 任务是否可靠且高效?
  6. 还有其他“注意事项”吗?
0 投票
1 回答
1370 浏览

c# - Rhino-Etl 和 MySQL 的问题

我已经使用 Rhino-ETL 一段时间了,它运行得非常顺利。但是我在连接到我的 MySQL 数据库时遇到问题。

http://dev.mysql.com/downloads/connector/net/6.1.html mysql.data 被引用并位于我的 bin 文件夹中

我的连接字符串 i app.config 看起来像

连接字符串在一个简单的网站中工作正常,用于调试目的,作为数据源。我正在运行 asp.net 3.5、win 7 和 VS 2008,如果能在这个问题上提供任何帮助,我将不胜感激。

ETL 项目中的一个简单测试也有效

0 投票
4 回答
2904 浏览

sql-server-2005 - SSIS中查找任务的替代方案

我正在研究用于数据仓库的 SSIS 解决方案,用于提取相应应用程序键的代理键,我正在使用 SSIS 的查找任务,但此任务的问题是它将完整的查找表缓存在其内存中。而且我的查找表大小很大,即 2000 万条记录。因此,如果您可以为查找任务提出一些方法或替代方案