Amazon Redshift Handbuch "Erste Schritte" API Version 2012-12-01 Amazon Redshift Handbuch "Erste Schritte" Amazon Redshift Handbuch "Erste Schritte" Amazon Redshift: Handbuch "Erste Schritte" Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. Amazon Redshift Handbuch "Erste Schritte" Table of Contents Erste Schritte ............................................................................................................................... 1 Schritt 1: Einrichten der Voraussetzungen ................................................................................. 2 Anmelden bei AWS ....................................................................................................... 2 Installieren von SQL-Client-Treibern und -Tools ................................................................. 2 Festlegen von Firewall-Regeln ........................................................................................ 3 Schritt 2: Erstellen einer IAM-Rolle .......................................................................................... 3 Erstellen einer IAM-Rolle für Amazon Redshift ................................................................ 3 Schritt 3: Starten eines Clusters .............................................................................................. 4 Starten eines Amazon Redshift-Clusters ........................................................................... 4 Schritt 4: Autorisieren des Zugriffs auf den Cluster ................................................................... 11 Konfigurieren der VPC-Sicherheitsgruppe (EC2-VPC-Plattform) .......................................... 11 Konfigurieren der Amazon Redshift-Sicherheitsgruppen ..................................................... 12 Schritt 5: Verbinden mit dem Cluster ...................................................................................... 13 Abrufen der Verbindungszeichenfolge ............................................................................. 13 Herstellen einer Verbindung zwischen SQL Workbench/J und Cluster .................................. 14 Schritt 6: Laden von Beispieldaten ......................................................................................... 16 Schritt 7: Suchen von zusätzlichen Ressourcen und Zurücksetzen der Umgebung ......................... 20 Wie geht es weiter? .................................................................................................... 21 Dokumentverlauf ......................................................................................................................... 25 API Version 2012-12-01 iv Amazon Redshift Handbuch "Erste Schritte" Erste Schritte mit Amazon Redshift Willkommen beim Erste Schritte mit Amazon Redshift. Amazon Redshift ist ein vollständig verwalteter Data-Warehouse-Service in Petabytegröße in der Cloud. Ein Amazon Redshift-Data-Warehouse ist eine Sammlung von Datenverarbeitungsressourcen, den so genannten Knoten, die zu Gruppen, den so genannten Clustern, zusammengefasst werden. In jedem Cluster wird ein Amazon Redshift-Modul ausgeführt, und er enthält mindestens eine Datenbank. Wenn Sie Amazon Redshift zum ersten Mal verwenden, empfehlen wir, die folgenden Abschnitte zu lesen: • Amazon Redshift Management Overview – dieses Thema vermittelt eine Übersicht über Amazon Redshift. • Service Highlights and Pricing – auf dieser Produktdetailseite finden Sie das Wert-Angebot, die Service-Merkmale und die Preise von Amazon Redshift. • Erste Schritte mit Amazon Redshift (das vorliegende Handbuch) – dieses Handbuch enthält ein Tutorial, das Ihnen zeigt, wie Sie Amazon Redshift für die Erstellung eines Beispiel-Clusters und für die Arbeit mit Beispieldaten verwenden können. Mit dem Tutorial in diesem Handbuch werden Sie durch den Prozess der Erstellung eines Amazon Redshift-Beispiel-Clusters geführt. Anhand dieses Beispiel-Clusters können Sie den Amazon RedshiftService auswerten. Im Einzelnen führen Sie in diesem Tutorial die folgenden Schritte durch: • Schritt 1: Einrichten der Voraussetzungen (p. 2) • Schritt 2: Erstellen einer IAM-Rolle (p. 3) • Schritt 3: Starten eines Amazon Redshift-Beispiel-Clusters (p. 4) • Schritt 4: Autorisieren des Zugriffs auf den Cluster (p. 11) • Schritt 5: Verbinden mit dem Beispiel-Cluster (p. 13) • Schritt 6: Laden von Beispieldaten aus Amazon S3 (p. 16) • Schritt 7: Suchen von zusätzlichen Ressourcen und Zurücksetzen der Umgebung (p. 20) Nach Abschluss dieses Tutorials finden Sie weitere Informationen über Amazon Redshift sowie die nächsten Schritte unter Wie geht es weiter? (p. 21) API Version 2012-12-01 1 Amazon Redshift Handbuch "Erste Schritte" Schritt 1: Einrichten der Voraussetzungen Important Der erstellte Beispiel-Cluster wird in einer Live-Umgebung ausgeführt. Der bedarfsabhängige Preis für die Verwendung des in diesem Tutorial konzipierten Beispiel-Clusters liegt bei 0,25 USD pro Stunde. Er gilt so lange, bis Sie den Cluster löschen. Weitere Informationen zu Preisen finden Sie in der Amazon Redshift-Preisliste. Bei weiteren Fragen oder Problemen können Sie sich an das Amazon Redshift-Team wenden, indem Sie einen Beitrag im Diskussionsforum veröffentlichen. In diesem Tutorial wird nur oberflächlich auf die Optionen eingegangen; es ist daher nicht für Produktionsumgebungen geeignet. Wenn Sie das Tutorial abgeschlossen haben, finden Sie im Abschnitt Weitere Ressourcen (p. 21) detaillierte Informationen für die Planung, Bereitstellung und Instandhaltung von Clustern sowie für die Datenverarbeitung im Data Warehouse. Schritt 1: Einrichten der Voraussetzungen Vergewissern Sie sich vor der Einrichtung eines Amazon Redshift-Clusters, dass die im folgenden Abschnitt genannten Voraussetzungen erfüllt sind: • Anmelden bei AWS (p. 2) • Installieren von SQL-Client-Treibern und -Tools (p. 2) • Festlegen von Firewall-Regeln (p. 3) Anmelden bei AWS Wenn Sie noch kein AWS-Konto haben, müssen Sie eines eröffnen. Wenn Sie bereits ein Konto besitzen, können Sie diesen Schritt überspringen und Ihr vorhandenes Konto verwenden. 1. Rufen Sie https://aws.amazon.com/ auf und wählen Sie Create an AWS Account aus. 2. Folgen Sie den Onlineanweisungen. Der Anmeldeprozess beinhaltet auch einen Telefonanruf und die Eingabe einer PIN über die Telefontastatur. Installieren von SQL-Client-Treibern und -Tools Sie können die meisten SQL-Client-Tools mit JDBC- oder ODBC-Treibern für Amazon Redshift verwenden, um eine Verbindung mit einem Amazon Redshift-Cluster herzustellen. In diesem Tutorial zeigen wir Ihnen, wie Sie die Verbindung mithilfe von SQL Workbench/J herstellen, einem kostenlosen plattformübergreifenden SQL-Abfrage-Tool, das nicht von einem bestimmten DBMS abhängig ist. Wenn Sie dieses Tutorial mit SQL Workbench/J abschließen möchten, führen Sie die nachfolgenden Schritte für die Einrichtung des JDBC-Treibers für Amazon Redshift und von SQL Workbench/J aus. Eine ausführlichere Anleitung für die Installation von SQL Workbench/J finden Sie im Amazon Redshift Cluster Management Guide unter Setting Up the SQL Workbench/J Client. Wenn Sie als Client-Computer eine Instanz von Amazon EC2 verwenden, müssen Sie SQL Workbench/J und die erforderlichen Treiber in der Instanz installieren. Note Alle Tools von Drittanbietern, die Sie im Cluster verwenden möchten, müssen Sie selber installieren; im Serviceumfang von Amazon Redshift sind keine Tools oder Bibliotheken von Drittanbietern enthalten. API Version 2012-12-01 2 Amazon Redshift Handbuch "Erste Schritte" Festlegen von Firewall-Regeln Installieren von SQL Workbench/J auf dem Client-Computer 1. Lesen Sie die Softwarelizenz zu SQL Workbench/J. 2. Laden Sie sich auf der SQL Workbench/J-Website das entsprechende Paket für Ihr Betriebssystem herunter. 3. Rufen Sie die Seite Installing and starting SQL Workbench/J auf und installieren Sie SQL Workbench/J. Important Beachten Sie die JRE-Versionsvorgabe für SQL Workbench/J und vergewissern Sie sich, dass Sie die richtige Version verwenden; andernfalls kann die Client-Anwendung nicht ausgeführt werden. 4. Rufen Sie die Seite Configure a JDBC Connection auf und laden Sie einen JDBC-Treiber für Amazon Redshift herunter, damit SQL Workbench/J eine Verbindung zum Cluster herstellen kann. Weitere Informationen über die Verwendung der JDBC- oder ODBC-Treiber für Amazon Redshift finden Sie unter Configuring Connections in Amazon Redshift. Festlegen von Firewall-Regeln Im Rahmen dieses Tutorials geben Sie einen Port für den Start des Amazon Redshift-Clusters an. Des Weiteren erstellen Sie eine Zugangsregel für eingehenden Datenverkehr in einer Sicherheitsgruppe, die den Zugriff auf den Cluster über den Port regelt. Wenn vor dem Client-Computer eine Firewall geschaltet ist, müssen Sie wissen, welcher Port offen ist, sodass Sie von einem SQL-Client-Tool eine Verbindung zum Cluster herstellen und Abfragen ausführen können. Sollten Sie das nicht wissen, bitten Sie jemanden, der sich mit den Firewall-Regeln in Ihrem Netzwerk auskennt, einen offenen Port in der Firewall zu ermitteln. Standardmäßig verwendet Amazon Redshift Port 5439. Eine Verbindung ist aber nur möglich, wenn dieser Port in der Firewall auch geöffnet ist. Die Portnummer für den Amazon Redshift-Cluster kann nach der Erstellung nicht mehr geändert werden; vergewissern Sie sich daher, dass Sie während des Cluster-Startvorgangs einen offenen Port angeben, der in Ihrer Umgebung auch funktioniert. Schritt 2: Erstellen einer IAM-Rolle Für jede Operation, die einen Datenzugriff in einer anderen AWS-Ressource erfordert, z. B. die Ausführung des COPY-Befehls zum Laden von Daten aus Amazon S3, benötigt der Cluster eine Berechtigung, um in Ihrem Namen auf die Ressource und die darin befindlichen Daten zugreifen zu können. Solche Berechtigungen können Sie mithilfe von AWS Identity and Access Management bereitstellen – entweder über eine IAM-Rolle, die Sie an den Cluster anfügen, oder indem Sie einem IAM-Benutzer, der die erforderlichen Berechtigungen hat, den AWS-Zugriffsschlüssel bereitstellen. Für den bestmöglichen Schutz ihrer vertraulichen Daten und die sichere Speicherung der Anmeldeinformationen für den Zugriff auf AWS empfehlen wir, eine IAM-Rolle zu erstellen und diese an den Cluster anzufügen. Weitere Informationen über die Gewährung von Zugriffsberechtigungen finden Sie unter Permissions to Access Other AWS Resources. In diesem Schritt erstellen Sie eine neue IAM-Rolle, über die Amazon Redshift Daten aus Amazon S3Buckets laden kann. Der nächste Schritt besteht darin, die Rolle an den Cluster anzufügen. Erstellen einer IAM-Rolle für Amazon Redshift 1. Melden Sie sich unter https://console.aws.amazon.com/iam/ bei der Identity and Access Management(IAM)-Konsole an. API Version 2012-12-01 3 Amazon Redshift Handbuch "Erste Schritte" Schritt 3: Starten eines Clusters 2. Wählen Sie im linken Navigationsbereich Roles aus. 3. Wählen Sie Create New Role aus. 4. Geben Sie unter Role Name einen Namen für die Rolle ein. Geben Sie in diesem Tutorial myRedshiftRole ein. Klicken Sie auf Next Step. 5. Wählen Sie AWS Service Roles und anschließend Amazon Redshift aus. 6. Wählen Sie auf der Seite Attach Policy die Richtlinie AmazonS3ReadOnlyAccess aus und klicken Sie dann auf Next Step. 7. Prüfen Sie die Rolleninformationen und klicken Sie dann auf Create Role. 8. Kopieren Sie den Rollen-ARN (Role ARN) in die Zwischenablage. Hierbei handelt es sich um den Amazon-Ressourcennamen (ARN) für die soeben erstellte Rolle. Sie benötigen diesen Wert im nächsten Schritt zum Starten eines neuen Clusters und dann erneut in Schritt 6: Laden von Beispieldaten aus Amazon S3 (p. 16). Schritt 3: Starten eines Amazon Redshift-BeispielClusters Da nun alle Voraussetzungen erfüllt sind, können Sie den Amazon Redshift-Cluster starten. Important Der Cluster, den Sie gleich starten werden, wird live sein. Er wird nicht in einer Sandbox ausgeführt. Es werden so lange die standardmäßigen Amazon Redshift-Nutzungsgebühren für den Cluster anfallen, bis Sie ihn löschen. Wenn Sie das vorliegende Tutorial in einer Sitzung durchlaufen und den Cluster nach Abschluss löschen, werden die Gesamtkosten minimal sein. Starten eines Amazon Redshift-Clusters 1. Melden Sie sich in der AWS Management Console an und öffnen Sie die Amazon RedshiftKonsole unter https://console.aws.amazon.com/redshift/. Important Wenn Sie die IAM-Benutzeranmeldeinformationen verwenden, vergewissern Sie sich, dass der Benutzer über die erforderlichen Berechtigungen für die Cluster-Operationen verfügt. Weitere Informationen finden Sie im Amazon Redshift Cluster Management Guide unter Controlling Access to IAM Users. 2. Wählen Sie im Hauptmenü die Region aus, in der Sie den Cluster erstellen möchten. Wählen Sie in diesem Tutorial USA West (Oregon) aus. 3. Wählen Sie im Amazon Redshift-Dashboard die Option Launch Cluster aus. Das Amazon Redshift-Dashboard sollte wie folgt aussehen: API Version 2012-12-01 4 Amazon Redshift Handbuch "Erste Schritte" Starten eines Amazon Redshift-Clusters 4. Geben Sie auf der Seite "Cluster Details" folgende Werte ein und klicken Sie auf Continue: • Cluster Identifier: Geben Sie examplecluster ein. • Database Name: Lassen Sie dieses Feld leer. Amazon Redshift erstellt eine Standarddatenbank mit dem Namen dev. • Database Port: Geben Sie die Portnummer ein, über die die Datenbank Verbindungen annimmt. Die Portnummer haben Sie bereits in den erforderlichen Schritten dieses Tutorials festgelegt. Sie können die Portnummer nach dem Starten des Clusters nicht mehr ändern. Vergewissern Sie sich daher, dass Sie Ihre Firewall einen offenen Port aufweist, über den Sie eine Verbindung zwischen SQL-Client-Tools und Datenbank im Cluster herstellen können. • Master User Name: Geben Sie masteruser ein. Mit diesem Benutzernamen und diesem Passwort stellen Sie eine Verbindung zur Datenbank her, nachdem der Cluster verfügbar ist. • Master User Password und Confirm Password: Geben Sie ein Passwort für das Masterbenutzerkonto ein. API Version 2012-12-01 5 Amazon Redshift Handbuch "Erste Schritte" Starten eines Amazon Redshift-Clusters 5. Wählen Sie auf der Seite "Node Configuration" folgende Werte aus und klicken Sie auf Continue: • Node Type: dc1.large • Cluster Type: Single Node API Version 2012-12-01 6 Amazon Redshift Handbuch "Erste Schritte" Starten eines Amazon Redshift-Clusters 6. Auf der Seite "Additional Configuration" sehen Sie je nach AWS-Konto, das den vom Cluster verwendeten Plattformtyp bestimmt, unterschiedliche Optionen. Dieses Tutorial soll möglichst einfach sein. Daher müssen Sie nicht unbedingt den Unterschied zwischen den Plattformen EC2Classic und EC2-VPC kennen. Wenn Sie nach dem Tutorial mehr erfahren möchten, sehen Sie sich den Amazon Redshift Cluster Management Guide an, den Sie anhand der Informationen unter Weitere Ressourcen (p. 21) finden. EC2-VPC Wenn Sie in der ausgewählten Region eine Standard-VPC haben, verwenden Sie zum Starten des Clusters die EC2-VPC-Plattform. Ihr Bildschirm sollte wie folgt aussehen: API Version 2012-12-01 7 Amazon Redshift Handbuch "Erste Schritte" Starten eines Amazon Redshift-Clusters Verwenden Sie die folgenden Werte, wenn Sie Ihren Cluster in der EC2-VPC-Plattform starten: • Cluster Parameter Group: Wählen Sie die Standardparametergruppe aus. • Encrypt Database: None. • Choose a VPC: Default VPC (vpc-xxxxxxxx) • Cluster Subnet Group: default • Publicly Accessible: Yes • Choose a Public IP Address: No • Enhanced VPC Routing: No • Availability Zone: No Preference • VPC Security Groups: default (sg-xxxxxxxx) • Create CloudWatch Alarm: No EC2-Classic Wenn Sie keine VPC haben, verwenden Sie zum Starten des Clusters die EC2-Classic-Plattform. Ihr Bildschirm sollte wie folgt aussehen: API Version 2012-12-01 8 Amazon Redshift Handbuch "Erste Schritte" Starten eines Amazon Redshift-Clusters Verwenden Sie die folgenden Werte, wenn Sie Ihren Cluster in der EC2-Classic-Plattform starten: • Cluster Parameter Group: Wählen Sie die Standardparametergruppe aus. • Encrypt Database: None. • Choose a VPC: Not in VPC • Availability Zone: No Preference • Cluster Security Groups: default • Create CloudWatch Alarm: No 7. Verknüpfen Sie eine IAM-Rolle mit dem Cluster. Wählen Sie unter AvailableRoles die Option myRedshiftRole und anschließend Continue aus. 8. Überprüfen Sie auf der Seite "Review" die ausgewählten Optionen und klicken Sie anschließend auf Launch Cluster. Ihr Bildschirm sollte wie folgt aussehen: API Version 2012-12-01 9 Amazon Redshift Handbuch "Erste Schritte" Starten eines Amazon Redshift-Clusters 9. Es wird eine Bestätigungsseite angezeigt und der Cluster wird in ein paar Minuten fertig gestellt sein. Klicken Sie auf Close, um zur Liste der Cluster zurückzukehren. 10. Wählen Sie auf der Seite "Cluster" den soeben gestarteten Cluster aus und sehen Sie sich die Informationen unter Cluster Status an. Vergewissern Sie sich, dass unter Cluster Status der Wert available und unter Database Health der Wert healthy angezeigt wird, bevor Sie später in diesem Tutorial versuchen, eine Verbindung zur Datenbank herzustellen. API Version 2012-12-01 10 Amazon Redshift Handbuch "Erste Schritte" Schritt 4: Autorisieren des Zugriffs auf den Cluster Schritt 4: Autorisieren des Zugriffs auf den Cluster Im vorherigen Schritt haben Sie den Amazon Redshift-Cluster gestartet. Vor der Herstellung einer Verbindung mit dem Cluster müssen Sie zunächst eine Sicherheitsgruppe konfigurieren, um den Zugriff zu autorisieren: • Wenn Sie Ihren Cluster in der EC2-VPC-Plattform gestartet haben, führen Sie die Schritte unter Konfigurieren der VPC-Sicherheitsgruppe (EC2-VPC-Plattform) (p. 11) aus. • Wenn Sie Ihren Cluster in der EC2-Classic-Plattform gestartet haben, führen Sie die Schritte unter Konfigurieren der Amazon Redshift-Sicherheitsgruppen (p. 12) aus. Note Sie müssen nur einen der beiden Sicherheitsgruppentypen konfigurieren. Führen Sie die entsprechenden Schritte für die Plattform aus, in der Sie den Cluster gestartet haben. Konfigurieren der VPC-Sicherheitsgruppe (EC2VPC-Plattform) 1. Wählen Sie im Navigationsbereich der Amazon Redshift-Konsole die Option Clusters aus. 2. Öffnen Sie den Cluster examplecluster und wechseln Sie gegebenenfalls zur Registerkarte Configuration. Wählen Sie unter Cluster Properties als VPC Security Groups Ihre Sicherheitsgruppe aus. 3. 4. Wenn Ihre Sicherheitsgruppe in der Amazon EC2-Konsole geöffnet wird, wählen Sie die Registerkarte Inbound aus. 5. Wählen Sie Edit, geben Sie folgende Informationen ein und klicken Sie auf Save: • Type: Custom TCP Rule. • Protocol: TCP. • Port Range: Geben Sie die Portnummer ein, die Sie beim Starten des Clusters verwendet haben. Der Standardport für Amazon Redshift lautet 5439; Ihr Port kann jedoch davon abweichen. • Source: Wählen Sie Custom IP aus und geben Sie 0.0.0.0/0 ein. Important Die Eingabe von 0.0.0.0/0 wird nur zu Demonstrationszwecken empfohlen, weil diese IP-Adresse den Zugriff von beliebigen Computern über das Internet zulässt. In einer API Version 2012-12-01 11 Amazon Redshift Handbuch "Erste Schritte" Konfigurieren der Amazon Redshift-Sicherheitsgruppen realen Umgebung würden Sie stattdessen basierend auf Ihren Netzwerkeinstellungen Regeln für eingehenden Datenverkehr erstellen. Konfigurieren der Amazon RedshiftSicherheitsgruppen 1. Wählen Sie im Navigationsbereich der Amazon Redshift-Konsole die Option Clusters aus. 2. Öffnen Sie den Cluster examplecluster und wechseln Sie gegebenenfalls zur Registerkarte Configuration. 3. Wählen Sie unter Cluster Properties für Cluster Security Groups die Option default aus, um die Standardsicherheitsgruppe zu öffnen. 4. Wählen Sie die auf der Registerkarte Security Groups in der Cluster-Sicherheitsgruppe die Gruppe aus, deren Regeln Sie verwalten möchten. 5. Wählen Sie auf der Registerkarte Security Group Connections die Option Add Connection Type aus. 6. Wählen Sie im Feld Connection Type den Eintrag CIDR/IP aus. Geben Sie unter CIDR/IP to Authorize die Adresse 0.0.0.0/0 ein und klicken Sie auf Authorize. Important Die Eingabe von 0.0.0.0/0 wird nur zu Demonstrationszwecken empfohlen, weil diese IPAdresse den Zugriff von beliebigen Computern über das Internet zulässt. In einer realen Umgebung würden Sie stattdessen basierend auf Ihren Netzwerkeinstellungen Regeln für eingehenden Datenverkehr erstellen. API Version 2012-12-01 12 Amazon Redshift Handbuch "Erste Schritte" Schritt 5: Verbinden mit dem Cluster Schritt 5: Verbinden mit dem Beispiel-Cluster Sie stellen nun mit einem SQL-Client-Tool eine Verbindung zum Cluster her und führen eine einfache Abfrage zum Testen der Verbindung aus. Hierfür können Sie die meisten mit PostgreSQL kompatiblen SQL-Client-Tools verwenden. In diesem Tutorial verwenden Sie den SQL Workbench/J-Client, den Sie bereits im Abschnitt "Voraussetzungen" installiert haben. Führen Sie die folgenden Schritte aus, um diesen Abschnitt abzuschließen: • Abrufen der Verbindungszeichenfolge (p. 13) • Herstellen einer Verbindung zwischen SQL Workbench/J und Cluster (p. 14) Nach Abschluss dieses Schritts können Sie wahlweise Beispieldaten aus Amazon S3 laden (Schritt 6: Laden von Beispieldaten aus Amazon S3 (p. 16)) oder weitere Informationen über Amazon Redshift erhalten und Ihre Umgebung zurücksetzen (Wie geht es weiter? (p. 21)). Abrufen der Verbindungszeichenfolge 1. Wählen Sie im Navigationsbereich der Amazon Redshift-Konsole die Option Clusters aus. 2. Öffnen Sie den Cluster examplecluster und wechseln Sie gegebenenfalls zur Registerkarte Configuration. 3. Kopieren Sie auf der Registerkarte Configuration unter Cluster Database Properties den JDBCURL des Clusters. Note Der Endpunkt des Clusters ist erst verfügbar, wenn der Cluster erstellt wurde und verfügbar ist. API Version 2012-12-01 13 Amazon Redshift Handbuch "Erste Schritte" Herstellen einer Verbindung zwischen SQL Workbench/J und Cluster Herstellen einer Verbindung zwischen SQL Workbench/J und Cluster Dieser Schritt setzt voraus, dass Sie SQL Workbench/J in Schritt 1: Einrichten der Voraussetzungen (p. 2) installiert haben. 1. Öffnen Sie SQL Workbench/J. 2. Wählen Sie File und anschließend Connect window aus. 3. Wählen Sie Create a new connection profile. 4. Geben Sie im Feld New profile einen Namen für das Profil ein. 5. Wählen Sie Manage Drivers aus. Das Dialogfeld Manage Drivers wird geöffnet. 6. Klicken Sie auf Create a new entry. Geben Sie im Feld Name den Namen des Treibers ein. Klicken Sie auf das Ordnersymbol neben dem Feld Library, navigieren Sie zum Speicherort des Treibers, wählen Sie ihn aus und klicken Sie auf Open. API Version 2012-12-01 14 Amazon Redshift Handbuch "Erste Schritte" Herstellen einer Verbindung zwischen SQL Workbench/J und Cluster Wenn das Dialogfeld Please select one driver angezeigt wird, wählen Sie entweder com.amazon.redshift.jdbc4.Driver oder com.amazon.redshift.jdbc41.Driver aus und klicken Sie anschließend auf OK. Das Feld Classname wird von SQL Workbench/J automatisch ausgefüllt. Lassen Sie das Feld Sample URL leer und klicken Sie auf OK. 7. Wählen Sie im Feld Driver den soeben hinzugefügten Treiber aus. 8. Kopieren Sie den JDBC-URL aus der Amazon Redshift console und fügen Sie ihn in das Feld URL ein. 9. Geben Sie im Feld Username den Namen masteruser ein. 10. Geben Sie im Feld Password das zum Masterbenutzerkonto gehörende Passwort ein. 11. Aktivieren Sie das Feld Autocommit. 12. Klicken Sie wie nachstehend dargestellt auf das Symbol Save profile list: 13. Klicken Sie auf OK. API Version 2012-12-01 15 Amazon Redshift Handbuch "Erste Schritte" Schritt 6: Laden von Beispieldaten Schritt 6: Laden von Beispieldaten aus Amazon S3 Sie haben bereits eine Datenbank mit dem Namen dev erstellt und die Verbindung aufgebaut. Nun werden Sie Tabellen in der Datenbank anlegen, Daten hochladen und testweise eine Abfrage durchführen. Die Beispieldaten werden der Einfachheit halber in einem Amazon S3-Bucket bereitgestellt. Note Vergewissern Sie sich, bevor Sie fortfahren, dass der SQL Workbench/J-Client mit dem Cluster verbunden ist. Nach Abschluss dieses Schritts finden Sie weitere Informationen über Amazon Redshift sowie über das Zurücksetzen Ihrer Umgebung unter Wie geht es weiter? (p. 21). 1. Erstellen Sie Tabellen. Kopieren Sie die folgenden Anweisungen und führen Sie aus, um Tabellen in der dev-Datenbank zu erstellen. Weitere Informationen über die Syntax finden Sie im Amazon Redshift Database Developer Guide unter CREATE TABLE. create table users( userid integer not null distkey sortkey, username char(8), firstname varchar(30), lastname varchar(30), city varchar(30), state char(2), email varchar(100), phone char(14), likesports boolean, liketheatre boolean, likeconcerts boolean, likejazz boolean, likeclassical boolean, API Version 2012-12-01 16 Amazon Redshift Handbuch "Erste Schritte" Schritt 6: Laden von Beispieldaten likeopera boolean, likerock boolean, likevegas boolean, likebroadway boolean, likemusicals boolean); create table venue( venueid smallint not null distkey sortkey, venuename varchar(100), venuecity varchar(30), venuestate char(2), venueseats integer); create table category( catid smallint not null distkey sortkey, catgroup varchar(10), catname varchar(10), catdesc varchar(50)); create table date( dateid smallint not null distkey sortkey, caldate date not null, day character(3) not null, week smallint not null, month character(5) not null, qtr character(5) not null, year smallint not null, holiday boolean default('N')); create table event( eventid integer not null distkey, venueid smallint not null, catid smallint not null, dateid smallint not null sortkey, eventname varchar(200), starttime timestamp); create table listing( listid integer not null distkey, sellerid integer not null, eventid integer not null, dateid smallint not null sortkey, numtickets smallint not null, priceperticket decimal(8,2), totalprice decimal(8,2), listtime timestamp); create table sales( salesid integer not null, listid integer not null distkey, sellerid integer not null, buyerid integer not null, eventid integer not null, dateid smallint not null sortkey, qtysold smallint not null, pricepaid decimal(8,2), commission decimal(8,2), saletime timestamp); API Version 2012-12-01 17 Amazon Redshift Handbuch "Erste Schritte" Schritt 6: Laden von Beispieldaten 2. Laden Sie mit dem COPY-Befehl Beispieldaten aus Amazon S3. Note Es wird empfohlen, zum Laden von großen Datenmengen aus Amazon S3 oder DynamoDB in Amazon Redshift den COPY-Befehl zu verwenden. Weitere Informationen über die Syntax des COPY-Befehls finden Sie im Amazon Redshift Database Developer Guide unter COPY. Die Beispieldaten für dieses Tutorial werden in einem Amazon S3-Bucket bereitgestellt, der Amazon Redshift gehört. Gemäß den für den Bucket konfigurierten Berechtigungen haben alle authentifizierten AWS-Benutzer Lesezugriff für die Dateien mit den Beispieldaten. Stellen Sie zum Laden der Beispieldaten und für den Zugriff auf Amazon S3 die Authentifizierung für den Cluster bereit. Sowohl die rollen- als auch die schlüsselbasierte Authentifizierung sind zulässig. Es wird empfohlen, die rollenbasierte Authentifizierung zu verwenden. Weitere Informationen über die beiden Authentifizierungsarten finden Sie im Amazon Redshift Database Developer Guide unter CREDENTIALS. In diesem Schritt referenzieren Sie zur Bereitstellung der Authentifizierung die soeben erstellte und an den Cluster angefügte IAM-Rolle. Note Wenn Sie keine ausreichende Berechtigung für den Zugriff auf Amazon S3 haben, erhalten Sie bei Ausführung des COPY-Befehls die folgende Fehlermeldung: S3ServiceException: Access Denied. Die COPY-Befehle enthalten einen Platzhalter für den Rollen-ARN IAM; siehe hierzu folgendes Beispiel. copy users from 's3://awssampledbuswest2/tickit/allusers_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2'; Ersetzen Sie für die Zugriffsautorisierung mittels IAM-Rolle in der Parameterzeichenfolge CREDENTIALS den Platzhalter <iam-role-arn> durch den Rollen-ARN für die in Schritt 2: Erstellen einer IAM-Rolle (p. 3) erstellte IAM-Rolle. Der COPY-Befehl sollte dann wie folgt aussehen. copy users from 's3://awssampledbuswest2/tickit/allusers_pipe.txt' credentials 'aws_iam_role=arn:aws:iam::123456789012:role/myRedshiftRole' delimiter '|' region 'us-west-2'; Ersetzen Sie zum Laden der Beispieldaten den Teil <iam-role-arn> der folgenden COPYBefehle durch Ihren Rollen-ARN. Führen Sie die Befehle anschließend im SQL-Client-Tool aus. copy users from 's3://awssampledbuswest2/tickit/allusers_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2'; copy venue from 's3://awssampledbuswest2/tickit/venue_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2'; API Version 2012-12-01 18 Amazon Redshift Handbuch "Erste Schritte" Schritt 6: Laden von Beispieldaten copy category from 's3://awssampledbuswest2/tickit/category_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2'; copy date from 's3://awssampledbuswest2/tickit/date2008_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2'; copy event from 's3://awssampledbuswest2/tickit/allevents_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' timeformat 'YYYY-MM-DD HH:MI:SS' region 'us-west-2'; copy listing from 's3://awssampledbuswest2/tickit/listings_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2'; copy sales from 's3://awssampledbuswest2/tickit/sales_tab.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' region 'us-west-2'; 3. Führen Sie nun einige Beispielabfragen aus. Weitere Informationen finden Sie im Amazon Redshift-Entwicklerhandbuch unter SELECT. -- Get definition for the sales table. SELECT * FROM pg_table_def WHERE tablename = 'sales'; -- Find total sales on a given calendar date. SELECT sum(qtysold) FROM sales, date WHERE sales.dateid = date.dateid AND caldate = '2008-01-05'; -- Find top 10 buyers by quantity. SELECT firstname, lastname, total_quantity FROM (SELECT buyerid, sum(qtysold) total_quantity FROM sales GROUP BY buyerid ORDER BY total_quantity desc limit 10) Q, users WHERE Q.buyerid = userid ORDER BY Q.total_quantity desc; -- Find events in the 99.9 percentile in terms of all time gross sales. SELECT eventname, total_price FROM (SELECT eventid, total_price, ntile(1000) over(order by total_price desc) as percentile FROM (SELECT eventid, sum(pricepaid) total_price FROM sales GROUP BY eventid)) Q, event E WHERE Q.eventid = E.eventid AND percentile = 1 ORDER BY total_price desc; 4. Wenn Sie möchten, können Sie die ausgeführten Abfragen in der Amazon Redshift-Konsole überprüfen. Die Registerkarte Queries enthält eine Liste der im angegebenen Zeitraum ausgeführten Abfragen. Standardmäßig werden in der Konsole die Abfragen der letzten 24 Stunden einschließlich der gerade laufenden Abfragen aufgeführt. API Version 2012-12-01 19 Amazon Redshift Handbuch "Erste Schritte" Schritt 7: Suchen von zusätzlichen Ressourcen und Zurücksetzen der Umgebung • Melden Sie sich in der AWS Management Console an und öffnen Sie die Amazon RedshiftKonsole unter https://console.aws.amazon.com/redshift/. • Wählen Sie in der Cluster-Liste im rechten Teilfenster den Eintrag examplecluster aus. • Wählen Sie die Registerkarte Queries aus. In der Konsole wird, wie im nachfolgenden Beispiel dargestellt, eine Liste der ausgeführten Abfragen angezeigt. • Weitere Informationen über eine Abfrage erhalten Sie, indem Sie in der Spalte Query auf den Abfrage-ID-Link oder auf das Vergrößerungsglas klicken. Das folgende Beispiel zeigt die Details einer im vorherigen Schritt ausgeführten Abfrage. Schritt 7: Suchen von zusätzlichen Ressourcen und Zurücksetzen der Umgebung Wenn Sie nach Abschluss dieses Tutorials weitere Informationen über die in diesem Handbuch vorgestellten Konzepte benötigen, können Sie die anderen Amazon Redshift-Ressourcen durchsuchen. Alternativ können Sie Ihre Umgebung auch in den vorherigen Zustand zurückversetzen. API Version 2012-12-01 20 Amazon Redshift Handbuch "Erste Schritte" Wie geht es weiter? Der Beispiel-Cluster kann weiterhin ausgeführt werden, während Sie testweise Aufgaben aus anderen Amazon Redshift-Handbüchern ausführen. Vergessen Sie allerdings nicht, dass Ihnen die aktive Zeit des Clusters in Rechnung gestellt wird. Wenn Sie den Cluster nicht mehr benötigen, sollten Sie den Zugriff aufheben. Dann entstehen Ihnen auch keine Kosten mehr. Wie geht es weiter? Weitere Ressourcen Wenn Sie sich eingehender mit den in diesem Handbuch vorgestellten Konzepten befassen möchten, empfehlen wir Ihnen die folgenden Ressourcen: • Amazon Redshift Management Overview: Dieses Thema vermittelt eine Übersicht über Amazon Redshift. • Amazon Redshift Cluster Management Guide: Dieses auf dem Erste Schritte mit Amazon Redshift aufbauende Handbuch informiert detailliert über die Konzepte und Aufgaben für die Erstellung, Verwaltung und Überwachung von Clustern. • Amazon Redshift Database Developer Guide: Dieses auf dem Erste Schritte mit Amazon Redshift aufbauende Handbuch richtet sich an Datenbankentwickler und vermittelt fundierte Kenntnisse in den Gebieten Entwurf, Entwicklung, Abfrage und Verwaltung von Datenbanken in einem Data Warehouse. Zurücksetzen der Umgebung Nach Abschluss dieses Tutorials sollten Sie Ihre Umgebung in den vorherigen Zustand zurückversetzen. Gehen Sie dabei folgendermaßen vor: • Heben Sie den zuvor autorisierten Zugriff auf den Port and die CIDR/IP-Adresse auf: Wenn Sie Ihren Cluster in der EC2-VPC-Plattform gestartet haben, führen Sie die Schritte unter Aufheben des Zugriffs der VPC-Sicherheitsgruppe (p. 21) aus. Wenn Sie Ihren Cluster in der EC2-Classic-Plattform gestartet haben, führen Sie die Schritte unter Aufheben des Zugriffs der Cluster-Sicherheitsgruppe (p. 22) aus. • Löschen Sie den Beispiel-Cluster. Es werden so lange die standardmäßigen Amazon RedshiftNutzungsgebühren für den Cluster anfallen, bis Sie ihn löschen. Führen Sie die Schritte unter Löschen des Beispiel-Clusters (p. 23) aus. Aufheben des Zugriffs der VPC-Sicherheitsgruppe 1. Wählen Sie im Navigationsbereich der Amazon Redshift-Konsole die Option Clusters aus. 2. Öffnen Sie den Cluster examplecluster und wechseln Sie gegebenenfalls zur Registerkarte Configuration. 3. Wählen Sie unter Cluster Properties die VPC-Sicherheitsgruppe aus. 4. Rufen Sie bei ausgewählter Standardsicherheitsgruppe die Registerkarte Inbound auf und klicken Sie auf Edit. API Version 2012-12-01 21 Amazon Redshift Handbuch "Erste Schritte" Wie geht es weiter? 5. Löschen Sie die benutzerdefinierte Zugangsregel für TCP/IP-Datenverkehr, die Sie für den Port und die CIDR/IP-Adresse 0.0.0.0/0 erstellt haben. Behalten Sie andere Regeln wie die Regel All traffic bei; diese wurde standardmäßig für die Sicherheitsgruppe erstellt. Wählen Sie Save aus. Aufheben des Zugriffs der Cluster-Sicherheitsgruppe 1. Wählen Sie im Navigationsbereich der Amazon Redshift-Konsole die Option Clusters aus. 2. Öffnen Sie den Cluster "examplecluster" und wechseln Sie gegebenenfalls zur Registerkarte Configuration. 3. Wählen Sie unter Cluster Properties für Cluster Security Groups die Option default aus, um die Standardsicherheitsgruppe zu öffnen. 4. Wählen Sie die auf der Registerkarte Security Groups in der Cluster-Sicherheitsgruppe die Cluster-Standardsicherheitsgruppe aus. 5. Wählen Sie auf der Registerkarte Security Group Connections die benutzerdefinierte CIDR/ IP-Zugangsregel aus, die Sie für die CIDR/IP-Adresse 0.0.0.0/0 erstellt haben, und klicken Sie anschließend auf Revoke. API Version 2012-12-01 22 Amazon Redshift Handbuch "Erste Schritte" Wie geht es weiter? Löschen des Beispiel-Clusters 1. Wählen Sie im Navigationsbereich der Amazon Redshift-Konsole die Option Clusters aus. 2. Öffnen Sie den Cluster "examplecluster" und wechseln Sie gegebenenfalls zur Registerkarte Configuration. 3. Klicken Sie im Menü Cluster auf Delete. 4. Wählen Sie im Fenster Delete Cluster unter Create snapshot die Option No aus und klicken Sie anschließend auf Delete. 5. Im Fenster mit den Cluster-Details sehen Sie dann unter Cluster Status, dass der Cluster gerade gelöscht wird. API Version 2012-12-01 23 Amazon Redshift Handbuch "Erste Schritte" Wie geht es weiter? API Version 2012-12-01 24 Amazon Redshift Handbuch "Erste Schritte" Dokumentverlauf In der folgenden Tabelle werden wichtige Änderungen seit der letzten Veröffentlichung des Handbuchs "Erste Schritte" für Amazon Redshift beschrieben. Letzte Aktualisierung der Dokumentation: 28. Juli 2015 Änderung Beschreibung Veröffentlichungsdatum Neue Funktion Das Handbuch enthält nun Informationen zum Starten von Clustern über das Amazon Redshift-Dashboard. 28. Juli 2015 Neue Funktion Das Handbuch enthält nun Informationen zur Verwendung von neuen Knotentypnamen. 9. Juni 2015 Aktualisierung der Dokumentation Die Dokumentation enthält aktualisierte Screenshots und Verfahren zur Konfiguration der VPCSicherheitsgruppen. 30. April 2015 Aktualisierung der Dokumentation Die Dokumentation enthält aktualisierte Screenshots und beschreibt, wie sich die aktuelle Konsole und die Screenshots aufeinander abstimmen lassen. 12. November 2014 Aktualisierung der Dokumentation Zur besseren Auffindbarkeit wurden die Informationen zum Laden von Daten von Amazon S3 in einen separaten Abschnitt verschoben und der Abschnitt mit den nächsten Schritten wurde in den letzten Schritt integriert. 13. Mai 2014 Aktualisierung der Dokumentation Die Willkommensseite wurde entfernt; ihr Inhalt befindet sich nun auf der Hauptseite der Seite "Erste Schritte". 14. März 2014 Aktualisierung der Dokumentation Bei dieser Dokumentation handelt es sich um eine neue Version des Handbuchs "Erste Schritte" für Amazon Redshift mit Informationen zu Kundenfeedback und Service-Updates. 14. März 2014 Neues Handbuch Dies ist die erste Version des Handbuchs "Erste Schritte" für Amazon Redshift. 14. Februar 2013 API Version 2012-12-01 25