【问题标题】:ADF load data from CSV in sequence present in fileADF 按顺序从 CSV 加载数据
【发布时间】:2023-03-20 21:55:02
【问题描述】:

我的 CSV 文件数据如

100,数据1,数据2,数据3

200,data1,data2,data3

300,data1,data2,data3

300,data1,data2,data5

200,data1,data2,data3

300,data1,data2,data3

当我使用 ADF 数据流将数据加载到我的表中时,它会更改行的顺序。我希望将数据加载到表中,就像文件中存在的相同行序列一样;我总是希望行是 100,然后 200 和 300 属于该行,然后下一组 200 和 300 属于。 它适用于小数据文件,但对于大数据文件,它不维护行序列。看起来像某种数据缓冲区和批量加载触发它,这是我可以强制加载行的一种方式,因为它存在于文件中。

【问题讨论】:

    标签: azure-data-factory azure-data-factory-2 azure-data-flow


    【解决方案1】:

    您应该使用排序转换,将第一列排序为排序列。还将优化下排序转换中的分区数设置为“单个分区”。您需要这样做,因为 Mapping Data Flows 是基于 Spark 构建的横向扩展功能,它将跨节点和分区分发数据,从而丢失您的宏排序顺序,除非您将其强制到单个分区中。

    【讨论】:

    • 我无法按第一列排序,因为它将结合 100、200 和 300,我不希望我希望序列像文件中的行 100,200,300,300,200,300 那样。
    • 添加代理键转换,这将为您提供每行的递增计数器。使用我上面描述的相同技术,但使用代理键列作为排序列。如果您不希望在输出接收器中包含该列,请将其从接收器映射中删除。
    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多