【问题标题】:Azure Data Factory: Schema ChangeAzure 数据工厂:架构更改
【发布时间】:2021-05-03 21:30:57
【问题描述】:

我有一个格式如下的 blob。第一行提供标题详细信息,接下来的 2 行作为数据记录,最后一行作为包含数据记录计数的尾部记录。在记录文件时,我想将我的模式定义为单个字段,一旦我删除了我的拖车记录,我想用“|”将它转换为正确的模式格式作为分隔符。请告诉我如何实现这一目标。

DeptID|DeptNAme
1|A
2|B
2

提前致谢 库马尔

【问题讨论】:

    标签: azure-data-factory-2


    【解决方案1】:

    更新:

    1. 在前面Step4提到的SurrogateKey1活动之后,我们可以使用Select活动选择DeptID|DeptNAme列。

    2. 然后我们可以使用DerivedColumn1活动、表达式split({DeptID|DeptNAme},'|')[1]split({DeptID|DeptNAme},'|')[2]手动生成新列。

    3. 数据预览如下:


    @Kumar G 我们可以在 ADF 中使用data-flow 来实现这一点。
    例如,我创建了一个简单的测试。

    1. 我在 Azure Data Lake Gen2 中创建了一个 bolb,如下所示:

    2. 我创建了这个 blob 的数据源,选择 Pipe (|) 作为 Column delimiter 和First row as header 架构如下:

    3. 我在ADF中创建了一个映射数据流,源数据预览如下:

    4. SurrogateKey1 中,键入Row_No 作为键列,1 作为起始值。 数据预览如下:

    5. Conditional split1 中,使用Row_No < 3 排除最后一行。

    6. Select1 中,不选择Row_No 列, 数据预览如下:

    就是这样!

    【讨论】:

    • 谢谢约瑟夫。你的理解是正确的。认为数据流将失败,因为预告片记录格式与数据记录格式不一致。很惊讶它对其余字段的评估为 NULL 值。感谢您的帮助。 ADF 中是否有任何选项可以将整个记录作为一个字段读取,然后在删除尾部记录后转换为属性模式格式?
    • 嗨@Kumar G,我已经更新了我的答案。如果您需要更多信息,请告诉我。 :)
    猜你喜欢
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2021-10-30
    • 2020-05-01
    • 2018-04-20
    相关资源
    最近更新 更多