这里有点挑战
我有大约 45,000 个历史 .parquet 文件在dd级别中
像这样yyyy,mm,dd (2021/08/19)我有 24 个文件(每小时一个)
每天文件中的列非常广泛,最多可达 250 列。它随着时间的推移而增加和减少,因此在尝试使用使文件更大的映射数据流加载到 SQL 时会出现模式漂移。
我需要大约 200 个这样的列,我知道它们是什么。我什至将它们放在架构模板中。其余的是遗留的或不需要的
我想按原样保留 blob 中的原始文件,但将每个文件包含 200 列的文件加载到 SQL 中。
实现这一目标的最佳方法是什么?
如何遍历每个文件但只获取我需要的列?
我尝试使用通配符路径
'2021/**/*.parquet'
在映射数据流中提取 blob 中的所有文件,因此我不必迭代创建多个集群或 foreach
我什至不确定如何处理这个问题,或者它应该是复制活动还是映射 df 都有它们的好处,但我认为如果我需要深入转换这些文件的一部分,我只能使用映射 df。
我应该将几个月甚至几年合并到一个文件中,然后尝试从这个文件中读取,这样我就可以从我想要进入 SQL 服务器的列中排除额外的内容。
理想情况下,这是一个散装负载,在着陆时需要一些改进。
预先感谢
将数据流添加到管道并使用选择转换来选择要传播的列。您可以在数据流选择转换中创建基于模式的规则,以选择您希望从每个文件模式中选取的列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句