在 Amazon Redshift 中创建表语句中动态添加位置



>我正在尝试使用语句在 Amazon Redshift 中创建外部表 在此链接中提到。

就我而言,我希望将位置参数化而不是静态值

我正在使用 dB Weaver 进行亚马逊红移

如果你的分区是 hive 兼容的(<partition_column_name>=<partition_column_value>(,并且你的表是通过 Glue 或 Athena 定义的,那么你可以直接在 Athena 表上运行MSCK REPAIR TABLE,这将添加它们。阅读此线程以获取更多信息:https://forums.aws.amazon.com/thread.jspa?messageID=800945

如果不使用 hive 兼容分区,还可以尝试使用分区投影,其中定义与分区和参数相关的文件位置结构。

如果这些对您不起作用,您可以使用AWS Glue Crawlers,据说它会自动检测分区:https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html

如果这对你不起作用,那么你的问题非常具体。我建议撸起袖子写一些代码,部署在Lambda或AWS Glue Python Shell Job上。这里有一堆其他人尝试过的例子:

  • https://medium.com/swlh/add-newly-created-partitions-programmatically-into-aws-athena-schema-d773722a228e
  • https://medium.com/@alsmola/partitioning-cloudtrail-logs-in-athena-29add93ee070

最新更新