azure - ADF 使用复制数据更改接收器中数据类型的列
问题描述
有没有人在使用 adf.xml 中的特定数据类型从源和接收器复制时转换列的数据类型的经验。
从 Microsoft 文档中,我注意到 adf 复制数据可以执行 1. 从本机源类型转换为 Azure 数据工厂临时数据类型 2.从 Azure 数据工厂临时数据类型转换为本机接收器类型
目前,我想从一个将所有列存储为字符串的配置单元表中复制数据,因此当使用 adf 复制数据并将其作为具有正确数据类型的镶木地板时,其中某些列可能是 int、datetime、string 等. 因此,我在通过创建动态 json 代码复制数据时使用了动态映射。
"translator": {
"type": "TabularTranslator",
"mappings": [
{
"source": {
"name": "commentid",
"type": "Int32"
},
"sink": {
"name": "commentid",
"type": "Int32"
}
},
{
"source": {
"name": "comment",
"type": "String"
},
"sink": {
"name": "comment",
"type": "String"
}
},
{
"source": {
"name": "commenteduser",
"type": "String"
},
"sink": {
"name": "commenteduser",
"type": "String"
}
},
{
"source": {
"name": "commenteddatetime",
"type": "String"
},
"sink": {
"name": "commenteddatetime",
"type": "String"
}
}
]
}
但是,因此,复制过程是成功的,没有任何错误消息。但是当我在这些 parquet 文件上创建表时,这些列的数据类型仍然显示为字符串。
这里有没有人以前遇到过这个问题。谢谢。
解决方案
您发布的 JSON 在数据类型中看不到任何转换。我不确定您是否只是共享了具有默认映射的列。您可以尝试显式映射,我认为它应该可以工作
推荐阅读
- node.js - 在猫鼬中更新数组
- azure - 无法在 DevOps Server 中构建 VB6 应用程序
- javascript - 为什么使用 Javascript 的 CSS3 translate() 动画不起作用
- azure-cosmosdb - 使用 Gremlin 进行更新操作的 Cosmos 图 DB RU
- symfony - Fos-user-bundle 和自定义实体之间的一对一 - 未找到映射
- r - 更改条形图ggplot2中的内部图例顺序
- automation - 如何创建一个 gitlab 机器人来自动处理问题
- r - 连接具有不同行数和列名的数据表
- post - 无法通过团队发送附件(图像等)传出 webhook 到 web 服务
- python - 在 Python 中将 int 数组的值更改为 NaN (ValueError)