Azure Data Factory中如何设置字符串长度优化Azure SQL存储性能?
解决Azure Data Factory中字符串字段长度指定问题
不是必须通过数据流实现,有几种更直接的方式可选:
预创建目标SQL表
先在Azure SQL数据库中手动创建好目标表,将需要的字符串字段明确设置为nvarchar(50)这类指定长度的类型。之后在ADF的复制数据活动中,选择“使用现有表”作为目标,完成字段映射后运行活动,数据会直接按照预定义的表结构写入,不会默认使用MAX类型。
注意:如果让ADF自动创建目标表,它会默认把字符串类型设为MAX,所以预创建表是避免这个问题的最简单方法。在复制数据活动的映射中配置类型转换
在复制数据活动的“映射”标签页,导入源和目标的schema后,选中要调整的字符串字段,在右侧的“类型转换”区域,直接将目标类型指定为nvarchar(50)(需完整包含括号和长度值)。保存配置后运行活动,数据就会按照指定长度写入目标SQL表。
提示:要确保源数据的实际长度不超过指定值,否则会触发截断错误。使用数据流(适用于复杂场景)
如果同时需要其他数据处理操作(比如字段过滤、派生计算等),可以用数据流来实现。在数据流中添加“派生列”转换,将目标字段设置为toString(源字段, 50),或者直接在字段类型中指定string(50),之后通过Sink组件写入Azure SQL表即可。
内容的提问来源于stack exchange,提问作者Elias Koch
相关产品推荐
相关产品推荐

