我有一个执行数据流的ADF管路。 数据流的“源A”表大约有100万行, 带有查询的过滤器,该查询仅从源表中选择昨天的记录, 使用upsert的Alter Row设置, 接收器是记录表不断更新的存档表
整个管道大约需要2个小时左右,这是不可接受的。实际上,传输/插入的记录大约只有3000条。
核心数为16。尝试使用循环轮询和20个分区进行分区。 对于拥有约10万条记录的另一张表,类似的存档时间也不会超过15分钟。
我想到创建仅选择昨天记录的数据源,但是只能选择表的数据集。
请提出建议,如果我有什么需要优化的地方。
答案 0 :(得分:0)
数据集的表格确实没有关系。可以将用于访问该数据集的任何活动切换为使用查询而不是整个表,以便您可以传递一个值以仅从数据库中选择昨天的数据。
或者,当然,如果您能够在源代码上创建存储过程,也可以这样做。
当迁移非常大的数据集时,在使用另一个Copy活动从该Blob拉入源之前,使用Copy活动将数据暂存到Azure存储Blob中将获得更好的性能。但是,对于您在此处描述的内容,这似乎没有必要。