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

为何将Parquet文件加载到BigQuery后表中显示乱码值?

BigQuery加载Parquet后BYTES字段显示异常的原因

核心逻辑:二进制数据的存储与展示规则差异

  • 你看到的MDE=这类值,是BigQuery对BYTES类型数据的默认可视化形式:原始二进制字节会被自动转成Base64字符串,方便在界面中展示(毕竟二进制数据无法直接打印可读字符),并非数据损坏或编码异常。
  • 当你用cast(字段名 AS STRING)转换时,BigQuery会按照UTF-8编码把字节序列解码为原始文本——这说明你的Parquet文件里的BYTES字段,本质是用UTF-8编码的文本内容,只是被以二进制类型存储了。

类型映射的底层原因

  • Parquet的BYTE_ARRAY类型在BigQuery中会被默认映射为BYTES类型,BigQuery不会自动判断二进制内容是否是文本。如果Parquet的生成方把文本数据以二进制格式写入(未指定为STRING类型),BigQuery就会严格按二进制类型处理。
  • 这种行为是符合类型规范的:BYTES类型本身就是用来存储原始字节流的,Base64是通用的二进制转文本的编码方式,所以展示出来的是编码后的字符串,而非异常值。

补充说明

如果希望加载后直接得到可读的STRING类型,你可以在加载Parquet时手动指定字段类型为STRING,或者开启Schema自动检测的文本识别规则,避免后续手动转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:50:47