0

SQL 源和接收器之间的复制活动中的动态列映射工作正常。

我想在源中不存在的目标表中添加一个默认值,如当前日期。

如何在 json 中添加默认值,以便能够在目标列中加载默认日期。

附上映射中使用的Json:

在此处输入图像描述 我想在源中不存在的 jason 中添加今天的日期。杰森中的哪个编辑会有所帮助。

4

1 回答 1

0

为了添加默认值,我使用了数据流。

我创建了新列并添加了默认值作为当前日期。

首先创建了一个参数。

我使用 CSV 文件作为源数据集。其中有 6 列。

源数据集的架构 –</p>

Id,
Region,
Country,
UnitsSold,
TestCol1,
TestCol2

添加了新列作为 DefaultDateValue。

然后我创建了具有currentDate().

在最后一步中,我将“日期”参数分配给 DefaultDateValue 列。

{
    "name": "dataflow1",
    "properties": {
        "type": "MappingDataFlow",
        "typeProperties": {
            "sources": [
                {
                    "dataset": {
                        "referenceName": "DelimitedText1",
                        "type": "DatasetReference"
                    },
                    "name": "source1"
                }
            ],
            "sinks": [
                {
                    "dataset": {
                        "referenceName": "DelimitedText2",
                        "type": "DatasetReference"
                    },
                    "name": "sink1"
                }
            ],
            "transformations": [
                {
                    "name": "DerivedColumn2"
                }
            ],
            "script": "parameters{\n\tdate as date (currentDate())\n}\nsource(output(\n\t\tId as string,\n\t\tRegion as string,\n\t\tCountry as string,\n\t\t{Units Sold} as string,\n\t\tTestCol1 as string,\n\t\tTestCol2 as string\n\t),\n\tallowSchemaDrift: true,\n\tvalidateSchema: false,\n\tignoreNoFilesFound: false) ~> source1\nsource1 derive(DefaultDateValue = $date) ~> DerivedColumn2\nDerivedColumn2 sink(allowSchemaDrift: true,\n\tvalidateSchema: false,\n\tinput(\n\t\tColumn_1 as string,\n\t\tColumn_2 as string,\n\t\tColumn_3 as string,\n\t\tColumn_4 as string,\n\t\tColumn_5 as string,\n\t\tColumn_6 as string\n\t),\n\tskipDuplicateMapInputs: true,\n\tskipDuplicateMapOutputs: true) ~> sink1"
        }
    }
}
于 2021-09-29T09:37:37.253 回答