以雅典娜为代表似乎是不可能的 avro.schema.url 不是受支持的属性。 table property 'avro.schema.url' is not supported. (Service: AmazonAthena; Status Code: 400; Error Code: InvalidRequestException...) 你可以用 avro.schema.literal (您必须将avrojson模式复制到查询中),但之后我仍然遇到了查询数据的问题。 奇怪的错误,如: SYNTAX_ERROR: line 1:8: SELECT * not allowed in queries without FROM clause
2条答案
按热度按时间2ledvvac1#
现在,使用aws胶水或多或少可以做到这一点。glue可以抓取一堆不同的数据源,包括s3上的Parquet文件。发现的表被添加到glue数据目录中,并可从athena查询。根据您的需要,您可以安排一个glue crawler定期运行,也可以使用glue api定义并运行一个crawler。
如果有许多独立的数据块共享一个模式,那么还可以使用分区表来减少athena可以使用新加载的开销。例如,我有一些每日转储,它们加载到按日期分区的表中。只要模式不变,那么您所需要做的就是
MSCK REPAIR TABLE
.t5fffqht2#
以雅典娜为代表似乎是不可能的
avro.schema.url
不是受支持的属性。table property 'avro.schema.url' is not supported. (Service: AmazonAthena; Status Code: 400; Error Code: InvalidRequestException...)
你可以用avro.schema.literal
(您必须将avrojson模式复制到查询中),但之后我仍然遇到了查询数据的问题。奇怪的错误,如:
SYNTAX_ERROR: line 1:8: SELECT * not allowed in queries without FROM clause