雅典娜仅更新特定分区:MSCK REPAIR TABLE

时间:2018-06-23 05:42:32

标签: pyspark amazon-athena aws-glue

我有一个外部表,该表具有按日期划分的数据。数据每天都会更新,以获取当天的新文件集。这就是我在气流中执行作业的方式。

  1. 获取文件。这将在S3上获得类似于dt = 2018-06-20的文件。
  2. 通过dt创建指向S3位置分区的外部表。
  3. 运行MSCK REPAIR TABLE命令以更新分区。

是否有一种方法可以调用上述命令以仅对当天添加的新文件进行操作,因此基本上如果我得到dt = 2018-06-21的文件,则只能更新该分区。 / p>

谢谢!

1 个答案:

答案 0 :(得分:4)

您可以手动添加分区-这是Athena manual的示例:

    ALTER TABLE orders ADD
      PARTITION (dt = '2016-05-14', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_14_May_2016'
      PARTITION (dt = '2016-05-15', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_15_May_2016';