【问题标题】:Parsing CSV in Athena by column names按列名解析 Athena 中的 CSV
【发布时间】:2019-10-31 07:40:34
【问题描述】:

我正在尝试基于 CSV 文件创建一个外部表。我的问题是并非所有 CSV 文件都是相同的(其中一些缺少列),并且列的顺序并不总是相同。

问题是我是否可以让 Athena 按名称而不是按顺序解析列

【问题讨论】:

    标签: csv amazon-athena


    【解决方案1】:

    不,athena 无法按名称而不是顺序来解析列。数据的顺序应与表架构中定义的顺序完全相同。在将它们写入 S3 之前,您需要预处理 CSV 并更改列顺序。

    从 aws athena 文档中添加引号:

    当您在 Athena 中创建新表架构时,Athena 会存储该架构 在数据目录中并在您运行查询时使用它。

    Athena 使用一种称为 schema-on-read 的方法,这意味着一个模式 在您执行查询时投射到您的数据上。这 无需加载或转换数据。

    当您在 Athena 中创建数据库和表时,您只需 描述架构和表数据所在的位置 位于 Amazon S3 中用于读取时查询。数据库和表, 因此,与它们的含义略有不同 传统的关系数据库系统,因为不存储数据 以及数据库和表的架构定义。

    参考:Tables and databases in athena

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多