Abfrage externer Daten mit Amazon Redshift Spectrum - Amazon Redshift

Abfrage externer Daten mit Amazon Redshift Spectrum

Mit Amazon Redshift Spectrum können Sie effektiv strukturierte und halbstrukturierte Daten aus Dateien in Amazon S3 abfragen und abrufen, ohne die Daten in Amazon-Redshift-Tabellen laden zu müssen. Redshift Spectrum-Abfragen nutzen massive Parallelität zur sehr schnellen Ausführung bei sehr großen Datensätzen. Ein großer Teil der Verarbeitung findet auf der Redshift-Spectrum-Ebene statt, und die meisten Daten bleiben in Amazon S3. Mehrere Cluster können denselben Datensatz in Amazon S3 gleichzeitig abfragen, ohne dass Kopien der Daten für jeden Cluster erstellt werden müssen.

Übersicht zu Amazon Redshift Spectrum

Amazon Redshift Spectrum befindet sich auf dedizierten Amazon-Redshift-Servern, die von Ihrem Cluster unabhängig sind. Redshift Spectrum verschiebt viele datenverarbeitungsintensive Aufgaben, wie etwa die Prädikatfilterung und -aggregierung, auf die Redshift Spectrum-Ebene. So verwenden Redshift Spectrum-Abfragen viel weniger der Verarbeitungskapazität Ihres Clusters als andere Abfragen. Dazu kann Redshift Spectrum in intelligenter Weise skaliert werden. Auf der Grundlage der Anforderungen Ihrer Abfragen kann Redshift Spectrum potenziell Tausende von Instances nutzen und so sehr umfangreiche parallele Verarbeitungsmöglichkeiten bieten.

Sie erstellen Redshift Spectrum-Tabellen, indem Sie die Struktur für Ihre Dateien definieren und diese als Tabellen in einem externen Datenkatalog registrieren. Der externe Datenkatalog kann AWS Glue, der zu Amazon Athena gehörende Datenkatalog oder Ihr eigener Apache Hive-Metastore sein. Sie können externe Tabellen von Amazon Redshift aus erstellen und verwalten, DDL-Befehle (Data Definition Language) nutzen oder jedes andere Tool verwenden, das sich mit dem externen Datenkatalog verbinden kann. Änderungen an dem externen Datenkatalog sind sofort für jeden Ihrer Amazon-Redshift-Cluster verfügbar.

Sie können optional die externen Tabellen auf einer oder mehreren Spalten partitionieren. Die Definition von Partitionen als Teil der externen Tabelle kann die Leistung verbessern. Diese Verbesserung beruht darauf, dass der Amazon-Redshift-Abfrageoptimierer Partitionen, die keine Daten für die Abfrage enthalten, entfernt.

Nachdem Ihre Redshift-Spectrum-Tabellen definiert wurden, können Sie die Tabellen wie jede andere Amazon-Redshift-Tabelle abfragen oder verbinden. Redshift Spectrum unterstützt keine Aktualisierungsvorgänge auf externen Tabellen. Sie können Redshift-Spectrum-Tabellen zu mehreren Amazon-Redshift-Clustern hinzufügen und die gleichen Daten auf Amazon S3 von jedem Cluster in derselben AWS-Region aus abfragen. Wenn Sie Amazon-S3-Datendateien aktualisieren, stehen diese Daten sofort zur Abfrage von allen Ihren Amazon-Redshift-Clustern aus zur Verfügung.

Der AWS Glue-Datenkatalog, auf den Sie zugreifen, kann für mehr Sicherheit verschlüsselt werden. Wenn der AWS Glue-Katalog verschlüsselt ist, benötigen Sie den AWS KMS-Schlüssel (AWS Key Management Service) für AWS Glue, um auf den AWS Glue-Katalog zugreifen zu können. Die AWS Glue-Katalogverschlüsselung ist nicht in allen AWS-Regionen verfügbar. Eine Liste der unterstützten AWS-Regionen finden Sie unter Verschlüsselung und sicherer Zugriff in AWS Glue im AWS Glue-Entwicklerhandbuch. Weitere Informationen zur Verschlüsselung des AWS Glue-Datenkatalogs finden Sie unter Verschlüsseln Ihres AWS Glue-Datenkatalogs im AWS Glue-Entwicklerhandbuch.

Anmerkung

Sie können die Details für Redshift-Spectrum-Tabellen nicht mit den gleichen Ressourcen anzeigen, die Sie für Amazon-Redshift-Standardtabellen verwenden, wie PG_TABLE_DEF, STV_TBL_PERM, PG_CLASS oder information_schema. Wenn Ihr Business Intelligence- oder Analyse-Tool externe Redshift Spectrum-Tabellen nicht erkennt, konfigurieren Sie Ihre Anwendung für die Ausführung von Abfragen für SVV_EXTERNAL_TABLES und SVV_EXTERNAL_COLUMNS.

Amazon-Redshift-Spectrum-Regionen

Redshift Spectrum ist nur in den folgenden AWS-Regionen verfügbar:

  • Region USA Ost (Nord-Virginia) (us-east-1)

  • Region USA Ost (Ohio) (us-east-2)

  • Region USA West (Nordkalifornien) (us-west-1)

  • Region USA West (Oregon) (us-west-2)

  • Region Afrika (Kapstadt) (af-south-1)

  • Region Asien-Pazifik (Hongkong) (ap-east-1)

  • Region Asien-Pazifik (Mumbai) (ap-south-1)

  • Region Asien-Pazifik (Osaka) (ap-northeast-3)

  • Region Asien-Pazifik (Seoul) (ap-northeast-2)

  • Region Asien-Pazifik (Singapur) (ap-southeast-1)

  • Region Asien-Pazifik (Sydney) (ap-southeast-2)

  • Region Asien-Pazifik (Tokio) (ap-northeast-1)

  • Region Kanada (Zentral) (ca-central-1)

  • Region China (Peking) (cn-north-1)

  • Region China (Ningxia) (cn-northwest-1)

  • Region Europa (Frankfurt) (eu-central-1)

  • Region Europa (Irland) (eu-west-1)

  • Region Europa (London) (eu-west-2)

  • Region Europa (Mailand) (eu-south-1)

  • Region Europa (Paris) (eu-west-3)

  • Region Europa (Stockholm) (eu-north-1)

  • Region Naher Osten (Bahrain) (me-south-1)

  • Region Südamerika (São Paulo) (sa-east-1)

  • AWS GovCloud (US-East) (us-gov-east-1)

  • AWS GovCloud (US-West) (us-gov-west-1)

Überlegungen zu Amazon Redshift Spectrum

Beachten Sie die folgenden Überlegungen bei der Verwendung von Amazon Redshift Spectrum:

  • Der Amazon-Redshift-Cluster und der Amazon-S3-Bucket müssen sich in derselben AWS-Region befinden.

  • Wenn Ihr Cluster Enhanced VPC Routing verwendet, müssen Sie möglicherweise weitere Konfigurationsschritte ausführen. Weitere Informationen finden Sie unter Verwenden von Amazon Redshift Spectrum mit Enhanced VPC Routing.

  • Sie können keine Aktualisierungs- oder Löschoperationen für externe Tabellen ausführen. Um eine neue externe Tabelle im angegebenen Schema zu erstellen, können Sie CREATE EXTERNAL TABLE verwenden. Weitere Hinweise zu CREATE EXTERNAL TABLE finden Sie unter CREATE EXTERNAL TABLE. Um die Ergebnisse einer SELECT-Abfrage in vorhandene externe Tabellen in externen Katalogen einzufügen, können Sie INSERT (externe Tabelle) verwenden. Weitere Informationen zu INSERT (externe Tabelle) finden Sie unter INSERT (externe Tabelle).

  • Sofern Sie keinen AWS Glue Data Catalog verwenden, der für AWS Lake Formation aktiviert wurde, können Sie die Benutzerberechtigungen nicht in einer externen Tabelle steuern. Sie gewähren oder widerrufen stattdessen die Berechtigungen für das externe Schema. Weitere Informationen zur Arbeit mit AWS Lake Formation finden Sie unter Verwendung von Redshift Spectrum mit AWS Lake Formation.

  • Um Redshift Spectrum-Abfragen auszuführen, benötigt der Datenbankbenutzer die Berechtigung, temporäre Tabellen in der Datenbank zu erstellen. Das folgende Beispiel erteilt der Benutzergruppe spectrumdb temporäre Berechtigungen für die Datenbank spectrumusers.

    grant temp on database spectrumdb to group spectrumusers;

    Weitere Informationen finden Sie unter GRANT.

  • Informationen zur Verwendung des Athena-Datenkatalogs oder des AWS Glue-Datenkatalogs als Metadatenspeicher finden Sie unter Kontingente und Limits im Amazon-Redshift-Clusterverwaltungshandbuch.