如何处理 U-SQL EXTRACT 语句中丢失的文件?
How to handle a missing file in a U-SQL EXTRACT statement?
我有以下 EXTRACT
从暂存文件和生产文件中获取数据的语句:
DECLARE @staging string = "/staging/events.csv";
DECLARE @production string = "/production/events.csv";
@events =
EXTRACT dimensionId string
, tenantId string
, internalEntityId long
, name string
, modifiedTimestamp DateTime
FROM @staging, @production
USING Extractors.Csv();
如果缺少两个文件中的任何一个,语句将失败,这将导致整个 Azure Data Factory
管道失败:
问题
如何优雅地处理 U-SQL
EXTRACT
语句中丢失的文件?
我不确定我是否可以将其限定为 "Gracefully" 但至少它可以解决问题。
我可以使用FILE.EXISTS语句预先测试文件是否存在并选择是否包含它:
DECLARE @staging string = "/staging/events.csv";
DECLARE @production string = "/production/events.csv";
IF FILE.EXISTS(@production) == true THEN
@events =
EXTRACT dimensionId string
, tenantId string
, internalEntityId long
, name string
, modifiedTimestamp DateTime
FROM @staging, @production
USING Extractors.Csv();
ELSE
@events =
EXTRACT dimensionId string
, tenantId string
, internalEntityId long
, name string
, modifiedTimestamp DateTime
FROM @staging
USING Extractors.Csv();
END;
我有以下 EXTRACT
从暂存文件和生产文件中获取数据的语句:
DECLARE @staging string = "/staging/events.csv";
DECLARE @production string = "/production/events.csv";
@events =
EXTRACT dimensionId string
, tenantId string
, internalEntityId long
, name string
, modifiedTimestamp DateTime
FROM @staging, @production
USING Extractors.Csv();
如果缺少两个文件中的任何一个,语句将失败,这将导致整个 Azure Data Factory
管道失败:
问题
如何优雅地处理 U-SQL
EXTRACT
语句中丢失的文件?
我不确定我是否可以将其限定为 "Gracefully" 但至少它可以解决问题。
我可以使用FILE.EXISTS语句预先测试文件是否存在并选择是否包含它:
DECLARE @staging string = "/staging/events.csv";
DECLARE @production string = "/production/events.csv";
IF FILE.EXISTS(@production) == true THEN
@events =
EXTRACT dimensionId string
, tenantId string
, internalEntityId long
, name string
, modifiedTimestamp DateTime
FROM @staging, @production
USING Extractors.Csv();
ELSE
@events =
EXTRACT dimensionId string
, tenantId string
, internalEntityId long
, name string
, modifiedTimestamp DateTime
FROM @staging
USING Extractors.Csv();
END;