You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ADF或SQL中将JSON/JSONL文件数据转换为二进制格式?

JSONL/JSON转二进制格式:ADF与SQL实现方案

Azure Data Factory(ADF)实现

ADF可以直接在数据接收器(Sink)环节完成转换,适配不同复杂度的场景:

  • 复制活动快速实现

    1. 源数据集配置为JSON/JSONL格式,指定文件路径、行分隔符(针对JSONL)等参数。
    2. 目标数据集选择**二进制(Binary)**格式,无需额外格式配置。
    3. 运行复制活动后,源文件的文本内容会直接以二进制字节流的形式写入目标存储,完全满足终端用户的格式要求。
  • 数据流处理复杂场景
    如果需要先对JSON/JSONL数据做清洗、结构化转换:

    1. 用源转换读取JSON/JSONL并解析为结构化数据。
    2. 添加映射、过滤等步骤完成数据处理。
    3. 接收器转换选择二进制格式输出,将处理后的文本序列化为二进制写入目标。

SQL实现(以SQL Server为例)

SQL可通过函数和命令完成JSON/JSONL到二进制的转换,适合数据库内数据处理或小文件导出:

  • 数据库内JSON字段转二进制
    使用CAST或CONVERT函数直接转换文本为二进制类型:

    SELECT CAST(json_column AS VARBINARY(MAX)) AS binary_data
    FROM your_table;
    
  • 导出JSON/JSONL文件为二进制
    结合OPENROWSET读取文件,再转换导出:

    -- 读取JSONL文件并转换为二进制
    SELECT CAST(BulkColumn AS VARBINARY(MAX)) AS binary_data
    FROM OPENROWSET(BULK 'D:\data\input.jsonl', SINGLE_CLOB) AS source_data;
    

    若要导出为本地二进制文件,可使用bcp命令:

    bcp "SELECT CAST(BulkColumn AS VARBINARY(MAX)) FROM OPENROWSET(BULK 'D:\data\input.jsonl', SINGLE_CLOB) AS d" queryout "D:\output\result.bin" -S your_sql_server -d your_database -T -n
    

总结

ADF更适合构建端到端的ETL流水线,直接在Sink环节输出二进制格式,无需额外编码;SQL则适合数据库内的数据转换或小规模文件的导出处理,两者都能满足你的需求。

内容的提问来源于stack exchange,提问作者Nezko1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 09:32:53