在Azure数据工厂中从excel csv转换一列的JSON数据

bq9c1y66  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(103)

使用excel csv作为源,其中一个特定实体(500)包含具有如下层次结构的JSON格式数据

500 7   30600052764 30128903357 {"type": "reportingData", "merStoreId": "0099703", "productData": [{"productCode": "107", "totalAmount": "47.92", "quantity": "1.000", "unitPrice": "47.92", "tax1Amount": "0.00"},{"productCode": "963", "totalAmount": "2.40", "quantity": "1.000", "unitPrice": "2.40", "tax1Amount": "0.00"}, {"productCode": "913", "totalAmount": "20.00", "quantity": "1.000", "unitPrice": "20.00", "tax1Amount": "0.00"}]}

必须将此数据在excel csv转换为有意义的格式到我的Flume,可以帮助我吗

csga3l58

csga3l581#

要根据需要展开Json列,可以在数据流活动中执行以下步骤:

  • 源x1c 0d1x处的样本数据
  • 由于它首先将Json列作为字符串,因此我进行了Parse转换并展开Json。在parse设置中,选择Document form作为single document,column作为您要提供的列的名称,Expression作为您要展开的列,expression作为
(type as string,        merStoreId as integer,      productData as string[])


数据预览:

  • 之后,创建派生列转换,并使用先前转换

    中展开列的相应值创建列**数据预览:**x1c4d 1x
  • 当您有一个对象的数组在Json列中展开时,将进行扁平化变换并扁平化该数组列。
  • 现在,在另一个解析转换解析设置中展开数组Json,选择Document form作为single document,column作为要给出的列名,Expression作为要展开的列,expression作为
(productCode as integer,        totalAmount as double,      quantity as double,     unitPrice as double,        tax1Amount as double)


数据预览:

  • 之后,创建派生列转换,并使用先前转换

    中展开列的相应值创建列数据预览:

  • 现在,在派生列1之后使用派生列2

    执行联合变换数据预览:

  • 现在进行选择转换并选择列,然后将列存储到接收器中。

相关问题