批量加载导致文件中的架构漂移(adf 管道或映射数据流)
Bulk load causing schema drift in files (adf pipeline or mapping dataflows)
这里有点挑战
我有大约 45,000 个历史 .parquet 文件
像这样分区 yyyy,mm,dd (2021/08/19) 在 dd 级别 我有 24 个文件(每小时一个)
每天文件中的列都非常宽,最多可达 250 列。它随着时间的推移而增加和减少,因此在尝试使用使文件变大的映射数据流加载到 SQL 时会出现架构漂移。
我需要大约 200 个这些列,我知道它们是什么。我什至将它们放在模式模板中。其余的是遗留的或不需要的
我想按原样保留 blob 中的原始文件,但将每个文件包含 200 列的文件加载到 SQL。
实现此目标的最佳方法是什么?
如何遍历每个文件但只获取我需要的列?
我尝试使用通配符路径
'2021/**/*.parquet'
在映射数据流中获取 blob 中的所有文件,这样我就不必重复创建多个集群或 foreach
我什至不确定如何处理这个或者它应该是副本 activity 还是映射 df
两者都有它们的好处,但我认为如果我需要深入转换这些文件的某些部分,我只能使用映射 df。
我是否应该将几个月甚至几年合并到一个文件中,然后尝试从该文件中读取,以便我可以从我想要进入 SQL 服务器的列中排除其他内容.
理想情况下,这是一个散装负载,在着陆时需要进行一些改进。
提前致谢
向管道添加数据流并使用 Select 转换来选择您希望传播的列。您可以在数据流 Select 转换中创建基于模式的规则,以选择您希望从每个文件架构中选取的列。
这里有点挑战
我有大约 45,000 个历史 .parquet 文件
像这样分区 yyyy,mm,dd (2021/08/19) 在 dd 级别 我有 24 个文件(每小时一个)
每天文件中的列都非常宽,最多可达 250 列。它随着时间的推移而增加和减少,因此在尝试使用使文件变大的映射数据流加载到 SQL 时会出现架构漂移。
我需要大约 200 个这些列,我知道它们是什么。我什至将它们放在模式模板中。其余的是遗留的或不需要的
我想按原样保留 blob 中的原始文件,但将每个文件包含 200 列的文件加载到 SQL。
实现此目标的最佳方法是什么?
如何遍历每个文件但只获取我需要的列?
我尝试使用通配符路径'2021/**/*.parquet'
在映射数据流中获取 blob 中的所有文件,这样我就不必重复创建多个集群或 foreach
我什至不确定如何处理这个或者它应该是副本 activity 还是映射 df 两者都有它们的好处,但我认为如果我需要深入转换这些文件的某些部分,我只能使用映射 df。
我是否应该将几个月甚至几年合并到一个文件中,然后尝试从该文件中读取,以便我可以从我想要进入 SQL 服务器的列中排除其他内容.
理想情况下,这是一个散装负载,在着陆时需要进行一些改进。
提前致谢
向管道添加数据流并使用 Select 转换来选择您希望传播的列。您可以在数据流 Select 转换中创建基于模式的规则,以选择您希望从每个文件架构中选取的列。