Azure Data Factory:将含动态用户ID键的JSON源直接导出为Parquet
在Azure Data Factory中直接将动态键的JSON API响应转Parquet(仅存user_id和rate)
实操步骤
配置REST源与JSON格式
将Copy Activity的源设置为目标REST API,格式选择JSON。在Additional settings的JSON path expression中填写$.rates.users,直接定位到用户数据所在的对象,减少后续层级处理。手动配置映射(核心操作)
进入Mapping标签,无需自动导入schema(因user_id为动态键,自动导入会出现混乱):- 点击Add dynamic content,新建一个源列,使用表达式
entries($)——该函数会将users对象转换为键值对数组,每个元素结构为["用户ID", {"defaultRate": "...", "rate": "..."}] - 选中这个新生成的数组列,点击工具栏的Flatten,将数组展开为单行数据
- 提取需要的字段并完成映射:
- 源字段使用
item()[0],映射到目标列user_id - 源字段使用
item()[1].rate,映射到目标列rate
- 源字段使用
- 点击Add dynamic content,新建一个源列,使用表达式
配置Parquet目标
目标选择Parquet格式,对应你的存储服务(如ADLS Gen2、Blob Storage等),确认路径和格式设置无误后,即可运行Copy Activity。
关键要点
entries()是处理动态键问题的核心,它将JSON对象转换为可遍历的键值对数组,让Copy Activity能够处理动态变化的user_id- 全程无需生成中间JSON文件,直接在Copy Activity内完成转换与导出,满足核心需求
内容的提问来源于stack exchange,提问作者cuchan
相关产品推荐
相关产品推荐

