Erstellen von Tabellen basierend auf verschlüsselten Datensätzen in Amazon S3 - 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 von Tabellen basierend auf verschlüsselten Datensätzen in Amazon S3

Wenn Sie eine Tabelle erstellen, zeigen Sie Athena an, dass ein Datensatz in Amazon S3 verschlüsselt ist. Bei Verwendung von SSE-KMS ist dies nicht erforderlich. Sowohl für SSE-S3 als auch für die AWS KMS Verschlüsselung bestimmt Athena, wie der Datensatz entschlüsselt und die Tabelle erstellt wird, sodass Sie keine Schlüsselinformationen angeben müssen.

Benutzer, die Abfragen ausführen möchten. einschließlich des Benutzers, der die Tabelle erstellt, müssen die zuvor in diesem Thema beschriebenen Berechtigungen haben.

Wichtig

Wenn Sie Amazon EMR zusammen mit EMRFS zum Hochladen verschlüsselter Parquet-Dateien verwenden, müssen Sie mehrteilige Uploads deaktivieren, indem Sie für false fs.s3n.multipart.uploads.enabled festlegen. Wenn Sie dies nicht tun, kann Athena die Länge der Parquet-Datei nicht ermitteln und der Fehler HIVE_CANNOT_OPEN_SPLIT tritt auf. Weitere Informationen finden Sie unter Konfigurieren von mehrteiligen Uploads für Amazon S3 im Verwaltungshandbuch für Amazon EMR.

Führen Sie einen der folgenden Schritte aus, um anzugeben, dass ein Datensatz in Amazon S3 verschlüsselt ist. Bei Verwendung von SSE-KMS ist dieser Schritt nicht erforderlich.

  • Verwenden Sie in einer CREATE-TABLE-Anweisung eine TBLPROPERTIES-Klausel, die 'has_encrypted_data'='true' angibt, wie im folgenden Beispiel.

    CREATE EXTERNAL TABLE 'my_encrypted_data' ( `n_nationkey` int, `n_name` string, `n_regionkey` int, `n_comment` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' LOCATION 's3://DOC-EXAMPLE-BUCKET/folder_with_my_encrypted_data/' TBLPROPERTIES ( 'has_encrypted_data'='true')
  • Verwenden Sie den JDBC-Treiber und legen Sie den TBLPROPERTIES-Wert wie im vorherigen Beispiel gezeigt fest, wenn Sie statement.executeQuery() verwenden, um die Anweisung CREATE TABLE auszuführen.

  • Wenn Sie die Athena-Konsole zum Erstellen einer Tabelle mit einem Formular verwenden und einen Tabellenspeicherort angeben, wählen Sie die Option Verschlüsselter Datensatz aus.

    Wählen Sie im Formular zum Hinzufügen von Tabellen die Option Verschlüsselter Datensatz

In der Tabellenliste der Athena-Konsole zeigen verschlüsselte Tabellen ein schlüsselförmiges Symbol an.

Symbol für verschlüsselte Tabellen