按列名解析Athena中的CSV

按列名解析Athena中的CSV,csv,amazon-athena,Csv,Amazon Athena,我正在尝试基于CSV文件创建一个外部表。我的问题是,并非所有CSV文件都是相同的(有些文件缺少列),列的顺序也不总是相同的 问题是我是否可以让雅典娜按名称而不是顺序解析列不,雅典娜不能按名称而不是顺序解析列。数据的顺序应与表架构中定义的顺序完全相同。在将列顺序写入S3之前,需要预处理CSV并更改列顺序 添加aws athena文档中的引用: 在Athena中创建新表架构时,Athena存储该架构 并在运行查询时使用它 雅典娜使用了一种称为读取模式的方法,这意味着模式 在执行查询时投影到数据上。这

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


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

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

添加aws athena文档中的引用:

在Athena中创建新表架构时,Athena存储该架构 并在运行查询时使用它

雅典娜使用了一种称为读取模式的方法,这意味着模式 在执行查询时投影到数据上。这 消除了数据加载或转换的需要

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

参考: