lambda(python)で定期的にAthenaのMSCK REPAIR TABLEを行う
Athenaを使うようにして、パーティションの更新を都度行うのが面倒だったので自動的に行われるようにした。
下記のようなlambda関数を作成して、Cloudwatchでcron式で定期実行ルールを設定した。
import boto3 client = boto3.client('athena') def lambda_handler(event, context): sql = 'MSCK REPAIR TABLE テーブル名;' print('sql=' + sql) client.start_query_execution( QueryString=sql, QueryExecutionContext={ 'Database': 'データベース名' }, ResultConfiguration={ 'OutputLocation': 's3://実行結果の保存先バケット' } )