【问题标题】:Athena - Error retrieving results from Athena queryAthena - 从 Athena 查询中检索结果时出错
【发布时间】:2022-02-06 23:48:02
【问题描述】:

我刚开始与 Athena 合作。我目前已将 csv 写入 S3 位置。当我尝试查询信息时,我的查询结果中没有得到完整的结果。这似乎是因为 CSV 结果中有一个逗号。

原始条目如下所示。

当我执行一个简单的 Select 查询时,查询不会返回这个,因为逗号似乎将结果分隔到一个额外的列中。

我不确定这是 SQL 的问题还是其他问题。任何帮助都会。非常感激。谢谢!

【问题讨论】:

  • 请编辑您的问题,向我们展示您的源文件中的一些示例行(原始文本)以及用于在 Amazon Athena 中定义您的表的 DDL(创建表)命令。
  • 我不确定你输入的 CSV 文件有多有效,CSV 通常是一个逗号分隔的列表。我认为这就是为什么它被提取到 3 列中,

标签: python sql amazon-web-services amazon-athena


【解决方案1】:

根据您的示例,我假设您的原始数据如下所示:

Entry1,"['item 1, 'item2']"

Athena 使用的默认 CSV serde(序列化器/反序列化器)不支持 CSV 中的引用字段。它将看到第二个逗号并假定它是一个字段分隔符。

还有另一个名为 OpenCSVSerDe 的 serde,它支持带引号的字段,并且可能(如果原始数据看起来像我认为的那样)可以工作。

您可以在此处阅读有关在 Athena 中使用 CSV 的所有细节的更多信息:https://athena.guide/articles/working-with-csv/

【讨论】:

  • 谢谢。我不得不玩弄这个。这有效!
猜你喜欢
  • 1970-01-01
  • 2019-11-23
  • 2018-12-17
  • 1970-01-01
  • 2020-09-12
  • 2020-01-13
  • 2017-06-17
  • 1970-01-01
  • 2018-05-07
相关资源
最近更新 更多