【发布时间】:2021-11-27 01:02:59
【问题描述】:
我正在将数据从 Netsuite 提取到 Databricks 文件存储中。我通过编写 json 脚本并通过 Azure Data Factory 执行它来做到这一点。此 JSON 有一个部分,您可以在其中指定从 Netsuite 提取时要使用的查询。它被称为“增量Sql”。我经常看到这里在末尾添加了一个“a1”。
"incrementalParams": {
"checkpointTablePath": "dbfs:/mnt/data/governed/l1/audit/log/checkpoint_log/",
"extractId": "NETSUITE_CURRENCY_EXCHANGE_RATE",
"incrementalSql": "(select b.NAME as BASE_CURRENCY_CD, c.NAME as CURRENCY_CD, a.EXCHANGE_RATE, a.DATE_EFFECTIVE from Administrator.CURRENCY_EXCHANGE_RATES a left join Administrator.CURRENCIES b on a.BASE_CURRENCY_ID = b.CURRENCY_ID left join Administrator.CURRENCIES c on a.CURRENCY_ID = c.CURRENCY_ID) a1",
"maxCheckPoint1": "(select to_char(max(DATE_EFFECTIVE), 'DD-MM-YYYY HH24:MI:SS') from Administrator.CURRENCY_EXCHANGE_RATES where DATE_EFFECTIVE > to_date('%%{CHECKPOINT_VALUE_1}', 'YYYY-MM-DD HH24:MI:SS'))"
}
注意incrementalSql 字段末尾的a1。
有谁知道为什么要添加它?是否仅在 NetSuite 或 Oracle 的情况下添加?不添加会报错吗?
【问题讨论】:
-
我的假设是,由于关联的 JSON 键是“incrementalSql”,因此该查询是作为更大查询的一部分动态嵌入的子查询,并且
a1是别名给子查询,并且周围的查询将通过该别名引用它。 -
有道理。我想知道为什么没有人提出这个问题,即使是出于好奇。您认为这只是 Oracle 和 Netsuite 的事情吗?因为我的一些同事使用 RMS 数据库,而我在这种情况下找不到。感谢您的回答。
-
你有这个标记的mysql和oracle; mysql要求加入的子查询提供表别名,不知道oracle。
标签: mysql sql oracle azure-data-factory netsuite