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

Athena UNLOAD导出Parquet时驼峰列名被转小写,求解决方案

解决Athena UNLOAD导出Parquet时列名被强制小写的问题

要解决UNLOAD导出Parquet时列名被转为小写的问题,需要同时调整两个关键点:

  • 用双引号包裹驼峰别名:Athena(基于Presto)默认对标识符大小写不敏感,不加双引号的别名会被统一转为小写存储。必须用双引号明确指定大小写敏感的列名。
  • 关闭Parquet legacy写入格式:默认的legacy格式会强制将列名转为小写,添加parquet_write_legacy_format = false参数可以保留列名的原始大小写。

修改后的示例查询:

UNLOAD ( 
  SELECT abc_de AS "abcDe", fgh_ij AS "fghIj" 
  FROM tablename  
  WHERE fgh_ij IN ( '123','456' ) 
    AND year = 2024 
    AND month = 06 
    AND day = 24
) 
TO 's3://dummy-bucketf2e78a99-gfm8/athena/data/test/' 
WITH (
  format='PARQUET', 
  compression='None',
  parquet_write_legacy_format = false
)

补充说明

  • 后续如果用Athena读取该Parquet文件创建表,同样需要用双引号定义列名(例如CREATE TABLE ... ("abcDe" string, "fghIj" string)),否则Athena会将列名视为小写。
  • parquet_write_legacy_format参数是Presto提供的,Athena完全支持该配置,它主要用于控制是否兼容旧版Parquet工具的列名处理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:30:56