我正在使用Azure Data Factory V2
将一些 csv 文件Azure Data Lake
从Azure Synapse
我有一个循环来查找特殊文件夹中的所有文件DataLake
。
在我有一个 DataFlow 将数据从登台传输到主表之后。
在我的 for-each 循环中,首先我通过 SP 清理我的暂存表,然后我从 csv 文件中读取数据(一个接一个)。将数据从 CVS 传输到我正在使用Copy Data
任务的临时表。我正在阅读所有列,varchar
并且暂存表中的所有列都是varchar
(这里没有强制转换)
每个文件有大约 20 列和大约 216 行。
我想知道为什么我的管道只需要三个文件就需要这么长时间?
这是我清理工作台的任务。
这是我的 SQL Server 规模和使用情况。
在恢复 Synapse 服务后,我运行了我的管道。那只是与我的突触一起工作的管道和服务。
这是我的存储过程:
CREATE PROCEDURE [stg].[...._Truncate]
AS
TRUNCATE TABLE [stg].[....e]
GO
这是我的DF
SELECT
Convert(int,S.[MMSI]) AS [MMSI] ,
Convert(int,S.[IMO] ) AS [IMO] ,
Convert(int,S.[SHIP_ID] )AS [SHIP_ID] ,
Convert(numeric(8, 5),S.[LAT] ) AS [LAT] ,
Convert(numeric(8, 5),S.[LON] ) AS [LON] ,
Convert(int,S.[SPEED] ) AS [SPEED] ,
Convert(int,S.[HEADING] ) AS [HEADING] ,
Convert(int,S.[COURSE] ) AS [COURSE] ,
Convert(int,S.[STATUS] ) AS [STATUS] ,
Convert(datetime,S.[TIMESTAMP] ) AS [TIMESTAMP] ,
Convert(varchar(5),S.[DSRC] ) AS [DSRC] ,
Convert(int,S.[UTC_SECONDS] ) AS [UTC_SECONDS] ,
'M....._Simple' AS [ETL_CREATED_BY],
GETUTCDATE() AS [ETL_CREATED_DATE],
CONVERT(BIGINT, replace(CONVERT(VARCHAR, GETDATE(), 112), '/', '') + replace(CONVERT(VARCHAR, GETDATE(), 108), ':', '')) AS [ETL_PROCESS_ID]
FROM [stg].[....e] AS s
这是我的派生列
这将结束我的数据流中的映射
我应该在这里做点什么吗?