解析 AWS Athena/AWS Glue 目录中某一列中包含换行符的 csv 文件

2024-03-27

我有如下示例数据:

id,log,code,sequence
100,sample <(>&<)> O sample ? PILE UP - 3 sample,20,7^M$
101,sample- 4/52$
sample$
CM,21,7^M$
102,sample AT 3PM,22,4^M$

在第二行 (id=101) 中,日志列有换行符,一行中包含 3 行。 我在 vim 编辑器中启用了“:set list”选项来显示换行符 ($) 和行尾符 (^M)。

处理换行符AWS 在此处建议 OpenCSVSerde https://docs.aws.amazon.com/athena/latest/ug/csv.html。 我尝试使用 OPENCSVSerde 序列化escapeChar=\\, quoteChar=\", seperatorChar=, 尽管如此,它显示的数据为 5 行,而我需要 3 行。 当我在 Athena 中查询时,id=101 仅显示第一行,其余部分丢失:

id,log,code,sequence
101,sample- 4/52

有关如何处理 csv 文件列中的多行字符的任何提示或示例?

我正在探索自定义分类器,但还没有运气。


根据这个文档https://docs.aws.amazon.com/athena/latest/ug/csv.html https://docs.aws.amazon.com/athena/latest/ug/csv.htmlopencsvserde 不支持换行符。

我看到你正试图在那里放某种日志。 您的选择是:

  • 清理日志以不包含换行符。或者,

  • 使用 regexserde,如果您的日志格式不断变化,则它没有用。或者,

  • 如果两者都不是选项,您可以将格式从 csv 更改为 parquet 或其他格式,这样就不会出现换行问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 AWS Athena/AWS Glue 目录中某一列中包含换行符的 csv 文件 的相关文章

随机推荐