批量加载导致文件中的架构漂移(adf 管道或映射数据流)

用户2181700

这里有点挑战

我有大约 45,000 个历史 .parquet 文件dd级别中
像这样yyyy,mm,dd (2021/08/19)我有 24 个文件(每小时一个)

每天文件中的列非常广泛,最多可达 250 列。它随着时间的推移而增加和减少,因此在尝试使用使文件更大的映射数据流加载到 SQL 时会出现模式漂移。

我需要大约 200 个这样的列,我知道它们是什么。我什至将它们放在架构模板中。其余的是遗留的或不需要的

我想按原样保留 blob 中的原始文件,但将每个文件包含 200 列的文件加载到 SQL 中。

实现这一目标的最佳方法是什么?

  1. 如何遍历每个文件但只获取我需要的列?
    我尝试使用通配符路径

    '2021/**/*.parquet'

在映射数据流中提取 blob 中的所有文件,因此我不必迭代创建多个集群或 foreach

  1. 我什至不确定如何处理这个问题,或者它应该是复制活动还是映射 df 都有它们的好处,但我认为如果我需要深入转换这些文件的一部分,我只能使用映射 df。

  2. 我应该将几个月甚至几年合并到一个文件中,然后尝试从这个文件中读取,这样我就可以从我想要进入 SQL 服务器的列中排除额外的内容。

理想情况下,这是一个散装负载,在着陆时需要一些改进。

预先感谢

马克·克罗默 MSFT

将数据流添加到管道并使用选择转换来选择要传播的列。您可以在数据流选择转换中创建基于模式的规则,以选择您希望从每个文件模式中选取的列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

一个数据流作业中的并行管道

React中的单向数据流

在Angular中创建数据流

数据流中的nltk依赖关系

如何启用通过holoviews以及通过管道进入DynamicMap的(实时)数据流对数据着色器中的缩放进行自动重采样?

ADF数据流:无效的列名

在Data Factory中映射数据流不会忽略CSV文件的文本值中的换行符

ADF映射数据流-接收器转换动态分区数

单引号的ADF数据流concat表达式

在数据流中包括其他文件

有没有一种方法可以在多个映射数据流中重用单个正在运行的数据块集群

ADF映射数据流,是否可以在源上执行SQL?

ADF管道和ADF数据流之间有什么区别?

在Azure SQL数据流任务中从JSON映射列

在ffmpeg中按过滤器映射元数据流

是否提供了根据Azure映射数据流中连续性对中断序列进行分组的规定

使用数据流清理 CSV 文件中的数据

什么是 ADF Mapping 数据流表达语言?

如何在通过管道从 CSV 文件映射数据流派生列时传递用于列模式匹配的数组?

Azure 数据工厂 - 如何在映射数据流中删除列

ADF 映射数据流 - 重用单个运行的 Spark 集群来并行执行映射数据流

基于 Azure 数据工厂中的行号进行透视 - 映射数据流

Purview 是否通过 ADF 管道通过数据流显示自动创建的表的沿袭?

使用 azure 数据工厂中的映射数据流展平具有相应值的两个数组

SSIS 数据流文件到表加载非常缓慢

只读 Azure 数据流源中的特定 csv 文件

CSF 文件未在 Azure 数据流中正确加载?

libcurl 放置数据流而不是文件

新记录在映射数据流的活动预览中不可见