Erstellen Sie mithilfe manueller Partitionierung eine Tabelle für einen unternehmensweiten Datenpfad - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie mithilfe manueller Partitionierung eine Tabelle für einen unternehmensweiten Datenpfad

Um eine Tabelle für organisationsweite CloudTrail Protokolldateien in Athena zu erstellen, folgen Sie den Schritten unterErstellen Sie eine Tabelle für CloudTrail Logs in Athena mit manueller Partitionierung, nehmen Sie jedoch die im folgenden Verfahren angegebenen Änderungen vor.

So erstellen Sie eine Athena-Tabelle für organisationsweite Protokolle CloudTrail
  1. Ändern Sie in der CREATE TABLE-Anweisung die LOCATION-Klausel so, dass sie die Organisations-ID enthält, wie im folgenden Beispiel:

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/'
  2. In der PARTITIONED BY-Klausel fügen Sie einen Eintrag für die Konto-ID als Zeichenfolge hinzu, wie im folgenden Beispiel veranschaulicht:

    PARTITIONED BY (account string, region string, year string, month string, day string)

    Das folgende Beispiel zeigt das Ergebnis beider Aktionen:

    ... PARTITIONED BY (account string, region string, year string, month string, day string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/'
  3. Fügen Sie in der ALTER TABLE-Anweisung die Konto–ID in die ADD PARTITION-Klausel ein, wie im folgenden Beispiel veranschaulicht:

    ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08')
  4. Fügen Sie in der ALTER TABLE-Anweisung die Organisations-ID, die Konto-ID und die hinzuzufügende Partition in die LOCATION-Klausel ein, wie im folgenden Beispiel veranschaulicht:

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/us-east-1/2022/08/08/'

    Die folgende ALTER TABLE-Beispielanweisung zeigt das Ergebnis beider Aktionen:

    ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08') LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/111122223333/CloudTrail/us-east-1/2022/08/08/'

Beachten Sie, dass es in einer großen Organisation umständlich sein kann, diese Methode zum manuellen Hinzufügen und Verwalten einer Partition für jede Unternehmenskonto-ID zu verwenden. In einem solchen Szenario sollten Sie CloudTrail Lake anstelle von Athena verwenden. CloudTrail Lake bietet in einem solchen Szenario die folgenden Vorteile:

  • Aggregiert automatisch Logs für die gesamte Organisation

  • Erfordert keine Einrichtung oder Wartung von Partitionen oder einer Athena-Tabelle

  • Abfragen werden direkt in der CloudTrail Konsole ausgeführt

  • Verwendet eine SQL -kompatible Abfragesprache

Weitere Informationen finden Sie im AWS CloudTrail Benutzerhandbuch unter Arbeiten mit AWS CloudTrail Lake.