在从 SQL 到 MongoDB 运行 ETL 中通过 LEFT JOIN 添加新字段
Posted
技术标签:
【中文标题】在从 SQL 到 MongoDB 运行 ETL 中通过 LEFT JOIN 添加新字段【英文标题】:Adding New Fields via LEFT JOIN in Running ETL from SQL to MongoDB 【发布时间】:2019-01-15 13:48:20 【问题描述】:我需要运行 ETL 以将数据从 Sybase/SQL 后端获取到我的 MongoDB 环境中。我们已经有来自 Sybase 的数据,但现在还有几个额外的字段我们想要提取数据。因此,由于我对 Mongo 很熟悉(不太了解 Sybase),因此我正在尝试确定如何调整 ETL 以获取这些额外数据。
当前的 SELECT 语句如下所示:
`SELECT DISTINCT TOP 100 d.*, d10.code code10, d10.id_number as Code10ID FROM diagnosis d LEFT JOIN diagnosis_icd10 d10 on d.icd10_id = d10.id_number ORDER BY d.id_number`
现在,在我们正在执行 LEFT JOIN 的 diagnosis_icd10
表中,现在有几个额外的字段可用。
所以,我的问题是,我是否需要在 SELECT 语句中明确包含这些附加字段,以便它们在 ETL 过程中可用?或者只有当我想重命名字段时才会出现这种情况?这应该是什么样子?
【问题讨论】:
【参考方案1】:是的,您需要明确地请求它们,因为您当前的查询仅获取诊断表中的所有列(通过 d* 别名为 d)。
这与 Sybase 无关,虽然这是基本的 SQL,所以对于大多数数据库来说都是一样的。您只需将它们添加到 select 语句中,就像在 d10.column_name 中一样。
【讨论】:
以上是关于在从 SQL 到 MongoDB 运行 ETL 中通过 LEFT JOIN 添加新字段的主要内容,如果未能解决你的问题,请参考以下文章