我有一个文件,其中的排序很重要。从本质上讲,该文件包含多个记录类型,组的第一个记录定义了链接后续记录的ID,直到找到另一个"第一"记录。可以有任意数量的不同类型的后续记录。
因此,在阅读时,按顺序阅读文件很重要。您找到该ID,然后将其传播到所有其他记录。但这完全违背了雅典娜和普雷斯托的工作方式——他们尽一切努力并行读取数据。
那么这可以在athena中读取吗,或者我们必须先在python中预处理它吗?我猜可能有一些选项可以强制进行单线程读取,甚至可以教athena源文件的顺序很重要,但我什么都找不到。
如果文件名中有特定的命名约定,则可以在查询中使用内置字段"$path"以特定顺序读取文件。有关"$path"的更多信息,请参阅此链接https://aws.amazon.com/premiumsupport/knowledge-center/find-s3-source-file-athena-table-row/