SSIS 查找替代方案
SSIS Lookup Alternatives
我一直在 SSIS 包中使用查找转换。输入 table 有大约 7500 万行,而查找 table 有大约 7000 万行。
我需要捕获匹配和不匹配的输出,以便根据需要对其进行处理。
我 运行 遇到了错误 "The attempt to add a row to data flow task buffer failed"
Inner join 是一个很好的选择,但是我不认为它可以提供两个输出,即匹配和不匹配(这就是我一开始没有使用它的原因。如果不是这样,请赐教!)
部分缓存和无缓存是替代方案,但它们比时钟上的时针慢!
能否请您推荐任何能够提供匹配和不匹配输出的 LookUp 转换替代方案?
提前致谢!
[Source_Table]
SELECT prop_code --[varchar](6) NULL
,conf_nbr --[varchar](20) NULL
,arrival_date --[date] NULL
,system_source --[varchar](5) NULL
,net_revenue --[float] NULL
,net_room_nights --[int] NULL
,srp_code --[varchar](10) NULL
,corp_client_id --[varchar](10) NULL
,rac_code --[varchar](10) NULL
,ta_client_id --[varchar](10) NULL
FROM Account_360_Stage_Prd_Reservations_CRS
ORDER BY prop_code
,conf_nbr
[Reference_Table]
SELECT DISTINCT property_code --[varchar](6) NOT NULL
,CAST(host_confirmation_number AS VARCHAR) AS 'host_confirmation_number' --[bigint] NULL
FROM Account_360_Stage_Guest
ORDER BY property_code
,host_confirmation_number
[LookUp]
prop_code = property_code
conf_nbr = host_confirmation_number
我可能会使用内部联接,但使用 case 语句来识别这两个条件。然后使用条件拆分任务根据case语句的输出拆分数据
您可以使用 LEFT OUTER JOIN
,因为这会给您提供 'matched' 和 'unmatched'。然后将加入的 table 中的所有 NULL
重定向为 'unmatched'
我一直在 SSIS 包中使用查找转换。输入 table 有大约 7500 万行,而查找 table 有大约 7000 万行。
我需要捕获匹配和不匹配的输出,以便根据需要对其进行处理。
我 运行 遇到了错误 "The attempt to add a row to data flow task buffer failed"
Inner join 是一个很好的选择,但是我不认为它可以提供两个输出,即匹配和不匹配(这就是我一开始没有使用它的原因。如果不是这样,请赐教!)
部分缓存和无缓存是替代方案,但它们比时钟上的时针慢!
能否请您推荐任何能够提供匹配和不匹配输出的 LookUp 转换替代方案?
提前致谢!
[Source_Table]
SELECT prop_code --[varchar](6) NULL
,conf_nbr --[varchar](20) NULL
,arrival_date --[date] NULL
,system_source --[varchar](5) NULL
,net_revenue --[float] NULL
,net_room_nights --[int] NULL
,srp_code --[varchar](10) NULL
,corp_client_id --[varchar](10) NULL
,rac_code --[varchar](10) NULL
,ta_client_id --[varchar](10) NULL
FROM Account_360_Stage_Prd_Reservations_CRS
ORDER BY prop_code
,conf_nbr
[Reference_Table]
SELECT DISTINCT property_code --[varchar](6) NOT NULL
,CAST(host_confirmation_number AS VARCHAR) AS 'host_confirmation_number' --[bigint] NULL
FROM Account_360_Stage_Guest
ORDER BY property_code
,host_confirmation_number
[LookUp]
prop_code = property_code
conf_nbr = host_confirmation_number
我可能会使用内部联接,但使用 case 语句来识别这两个条件。然后使用条件拆分任务根据case语句的输出拆分数据
您可以使用 LEFT OUTER JOIN
,因为这会给您提供 'matched' 和 'unmatched'。然后将加入的 table 中的所有 NULL
重定向为 'unmatched'