Buat tabel untuk CloudTrail log di Athena menggunakan partisi manual - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat tabel untuk CloudTrail log di Athena menggunakan partisi manual

Anda dapat secara manual membuat tabel untuk file CloudTrail log di konsol Athena, dan kemudian menjalankan kueri di Athena.

Untuk membuat tabel Athena untuk CloudTrail jejak menggunakan konsol Athena
  1. Salin dan tempel DDL pernyataan berikut ke editor kueri konsol Athena.

    CREATE EXTERNAL TABLE cloudtrail_logs ( eventversion STRING, useridentity STRUCT< type:STRING, principalid:STRING, arn:STRING, accountid:STRING, invokedby:STRING, accesskeyid:STRING, userName:STRING, onBehalfOf: STRUCT< userId: STRING, identityStoreArn: STRING>, sessioncontext:STRUCT< attributes:STRUCT< mfaauthenticated:STRING, creationdate:STRING>, sessionissuer:STRUCT< type:STRING, principalId:STRING, arn:STRING, accountId:STRING, userName:STRING>, ec2RoleDelivery:string, webIdFederationData: STRUCT< federatedProvider: STRING, attributes: map<string,string> > > >, eventtime STRING, eventsource STRING, eventname STRING, awsregion STRING, sourceipaddress STRING, useragent STRING, errorcode STRING, errormessage STRING, requestparameters STRING, responseelements STRING, additionaleventdata STRING, requestid STRING, eventid STRING, resources ARRAY<STRUCT< arn:STRING, accountid:STRING, type:STRING>>, eventtype STRING, apiversion STRING, readonly STRING, recipientaccountid STRING, serviceeventdetails STRING, sharedeventid STRING, vpcendpointid STRING, eventCategory STRING, tlsDetails struct< tlsVersion:string, cipherSuite:string, clientProvidedHostHeader:string> ) PARTITIONED BY (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/Account_ID/CloudTrail/';
    catatan

    Kami menyarankan menggunakan yang org.apache.hive.hcatalog.data.JsonSerDe ditunjukkan dalam contoh. Meskipun com.amazon.emr.hive.serde.CloudTrailSerde ada, saat ini tidak menangani beberapa CloudTrail bidang yang lebih baru.

  2. (Opsional) Hapus semua bidang yang tidak diperlukan untuk tabel Anda. Jika Anda hanya perlu membaca satu set kolom tertentu, definisi tabel Anda dapat mengecualikan kolom lainnya.

  3. Memodifikasis3://amzn-s3-demo-bucket/AWSLogs/Account_ID/CloudTrail/Untuk menunjuk ke bucket Amazon S3 yang berisi data log Anda.

  4. Verifikasi bahwa bidang terdaftar dengan benar. Untuk informasi selengkapnya tentang daftar lengkap bidang dalam CloudTrail catatan, lihat konten CloudTrail rekaman.

    CREATE TABLEPernyataan contoh di Langkah 1 menggunakanSarang JSON SerDe. Dalam contoh, bidang, requestparametersresponseelements, dan additionaleventdata terdaftar sebagai tipe STRING dalam kueri, tetapi adalah tipe STRUCT data yang digunakan dalamJSON. Oleh karena itu, untuk mendapatkan data dari bidang ini, gunakanJSON_EXTRACTfungsi. Untuk informasi selengkapnya, lihat Ekstrak JSON data dari string. Untuk peningkatan kinerja, contoh mempartisi data dengan Wilayah AWS, tahun, bulan, dan hari.

  5. Jalankan CREATE TABLE pernyataan di konsol Athena.

  6. MenggunakanALTER TABLE ADD PARTITIONperintah untuk memuat partisi sehingga Anda dapat meminta mereka, seperti dalam contoh berikut.

    ALTER TABLE table_name ADD PARTITION (region='us-east-1', year='2019', month='02', day='01') LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/Account_ID/CloudTrail/us-east-1/2019/02/01/'