gpt4 book ai didi

Azure 数据工厂中的 Oracle 到 Parquet 小数丢失所有精度和小数位数

转载 作者:行者123 更新时间:2023-12-03 03:45:48 27 4
gpt4 key购买 nike

我正在尝试使用 Azure 数据工厂将数据从 Oracle 提取到 ADLS 中的 Parquet。我遇到的问题是:无论我尝试什么,Oracle 中的数据类型decimal(p,s) 总是会在我的 Parquet 文件中更改为decimal(38,18)。

我尝试动态映射 Azure 数据工厂映射菜单中的列:

enter image description here

但是, Parquet 文件中的数据类型仍然是 38,18:

enter image description here

我尝试过使用 MSSQL Server 作为源,效果很好。

这就是我的映射在 ADF 中的样子(但我尝试了不同的选项/值):

 "translator": {
"type": "TabularTranslator",
"mappings": [
{
"source": {
"name": "COLUMN",
"type": "Decimal",
"physicalType": "decimal",
"scale": 1,
"precision": 4
},
"sink": {
"name": "COLUMN",
"type": "Decimal",
"physicalType": "DECIMAL",
"scale": 1,
"precision": 4
}
}
],
"typeConversion": true,
"typeConversionSettings": {
"allowDataTruncation": false,
"treatBooleanAsNumber": false
}
}

有人能解决这个问题吗?

最佳答案

您可以在 Azure 数据工厂 dataflow 事件中的派生列 转换中转换小数位数和精度。

在我的示例中,我添加一个表达式来获取 salary 列的精度 7 和小数位数 1

enter image description here

接收器预览:

enter image description here

关于Azure 数据工厂中的 Oracle 到 Parquet 小数丢失所有精度和小数位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69256176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com