跳到主要内容

to_csv:结构体转CSV字符串

速查结论

to_csv(expr[, options]) 是 Spark SQL 中用于将给定的结构体值转换为 CSV 格式字符串的函数。

语法

to_csv(expr[, options])

参数说明

参数类型说明
exprSTRUCT要转换为 CSV 字符串的结构体表达式
optionsMAP可选参数,用于指定 CSV 输出选项(如时间戳格式 timestampFormat 等)

示例

> SELECT to_csv(named_struct('a', 1, 'b', 2));
1,2
> SELECT to_csv(named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd')), map('timestampFormat', 'dd/MM/yyyy'));
26/08/2015

常见报错与避坑指南

  • 输出的 CSV 不含表头行,仅包含数据值。若需要含表头的 CSV,需使用 DataFrame API 配合 write 操作。
  • 如果结构体字段值包含逗号、引号或换行符等 CSV 特殊字符,函数会自动进行转义处理。
  • 时间戳类型字段默认输出格式为 yyyy-MM-dd HH:mm:ss,可通过 options 中的 timestampFormat 自定义。

Since: 3.0.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看