Amazon Redshift でプロビジョニングされたデータウェアハウスの使用を開始する - Amazon Redshift

Amazon Redshift でプロビジョニングされたデータウェアハウスの使用を開始する

Amazon Redshift を初めて使用する場合は、次のセクションをお読みになり、プロビジョニングされたクラスターの使用開始方法を確認することをお勧めします Amazon Redshift の基本的な流れは、プロビジョニングされたリソースの作成、Amazon Redshift への接続、サンプルデータのロード、そのデータに対するクエリの実行です。このガイドでは、Amazon Redshift から、または Amazon S3 バケットからサンプルデータのロードを選択できます。サンプルデータは、Amazon Redshift ドキュメント全体で機能を実証するために使用されます。

このチュートリアルでは、システムリソースを管理する AWS データウェアハウスオブジェクトである、Amazon Redshift でプロビジョニングされたクラスターを使用する方法について説明します。Amazon Redshift は、使用状況に応じて自動的にスケールするデータウェアハウスオブジェクトであるサーバーレスワークグループでも使用できます。Redshift Serverless の使用を開始するには、「Amazon Redshift Serverless データウェアハウスの使用を開始」を参照してください。

Amazon Redshift プロビジョンドコンソールを作成してサインインすると、クラスター、ノード。データベースなどの Amazon Redshift オブジェクトを作成および管理できます。また、SQL クライアントでは、クエリを実行または表示したり、その他の SQL データ定義言語 (DDL) やデータ操作言語 (DML) のオペレーションを実行したりできます。

重要

この演習用にプロビジョニングしたクラスターは、ライブ環境で実行します。実行中は、お客様の AWS アカウントに課金されます。料金については、Amazon Redshift の料金表ページを参照してください。

不要な課金を回避するため、作業が完了したクラスターは削除してください。この章の最後のセクションでは、その方法について説明します。

AWS Management Console にサインインして、https://console.aws.amazon.com/redshiftv2/ で Amazon Redshift コンソールを開きます。

Amazon Redshift コンソールの使用を開始するには、まず [プロビジョニングされたクラスターダッシュボード] に移動することをお勧めします。

設定に応じて、Amazon Redshift プロビジョンドコンソールのナビゲーションペインに以下の項目が表示されます。

  • Redshift Serverless — Amazon Redshift でプロビジョニングされたクラスターのセットアップ、チューニング、管理を行うことなく、データにアクセスして分析します。

  • プロビジョニングされたクラスターダッシュボード — AWS リージョン のクラスターを一覧表示し、[クラスターメトリクス] および [クエリの概要] でメトリクスデータ (CPU 使用率など) へのインサイトやクエリ情報を確認します。これらを使用すると、パフォーマンスデータの異常が指定した時間範囲で発生しているかどうかを判断できます。

  • クラスター — この AWS リージョンのクラスターを一覧表示し、クエリを開始するか、クラスターに関連するアクションを実行するためのクラスターを選択します。また、このページで新しいクラスターを作成することもできます。

  • クエリエディタ - Amazon Redshift クラスターがホストするデータベースにクエリを実行します。クエリエディタ v2 を代わりに使用することをお勧めします。

  • クエリエディタ v2 — Amazon Redshift クエリエディタ v2 は、独立したウェブベースの SQL クライアントアプリケーションであり、Amazon Redshift データウェアハウスへのクエリを作成および実行します。結果をグラフで視覚化し、チーム内の他のユーザーとクエリを共有することで共同作業を行うことができます。

  • クエリとロード — 最近のクエリのリストや各クエリの SQL テキストなど、リファレンスまたはトラブルシューティングに使用するための情報を取得します。

  • データ共有 – プロデューサアカウントの管理者は、コンシューマアカウントがデータ共有にアクセスすることを許可するか、アクセスを許可しないかのいずれかを選択できます。承認されたデータ共有を使用する場合、コンシューマーアカウントの管理者は AWS アカウント アカウント全体またはアカウント内の特定のクラスター名前空間にデータ共有を関連付けることができます。また管理者は、データ共有を拒否することもできます。

  • ゼロ ETL 統合 — サポートされているソースに書き込んだトランザクションデータを Amazon Redshift で利用可能にする統合を管理します。

  • IAM アイデンティティセンター接続 — Amazon Redshift と IAM アイデンティティセンター間の接続を設定します。

  • 設定 – Java Database Connectivity (JDBC) および Open Database Connectivity (ODBC) 接続を介して、SQL クライアントツールから Amazon Redshift クラスターに接続します。Amazon RedShift が管理する仮想プライベートクラウド (VPC) エンドポイントを設定することもできます。これにより、Amazon VPC サービスをベースにしており、クラスターが置かれている VPC と、クライアントツールを実行している別の VPC との間にプライベート接続が提供されます。

  • AWS パートナー統合 — サポートされている AWS パートナーとの統合を作成します。

  • アドバイザー – Amazon Redshift クラスターに加えることができる変更に関する、具体的な推奨事項を入手して、最適化の優先順位を決定します。

  • AWS Marketplace – 他のツール、もしくは Amazon Redshift と連携する AWS サービスに関する情報を取得します。

  • アラーム – パフォーマンスデータを表示するためにクラスターメトリクスのアラームを作成し、指定した期間中のメトリクスを追跡します。

  • イベント – イベントを追跡し、そのイベントが発生した日付、その説明、およびイベントソースなどの情報に関するレポートを取得します。

  • 最新情報 – Amazon Redshift の新機能と製品アップデートを表示します。

本チュートリアルでは、次のステップを実行します。

以下は、このチュートリアルの手順概要です

AWS へのサインアップ

まだAWS アカウントをお持ちでない場合は、サインアップを行います。すでにアカウントをお持ちの場合は、この前提条件をスキップして既存のアカウントを使用します。

  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。

    AWS アカウント にサインアップすると、AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべてのAWS のサービスとリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。

ファイアウォールルールの決定

注記

このチュートリアルでは、クラスターがデフォルトのポート 5439 を使用すること、および Amazon Redshift クエリエディタ v2 を使用して SQL コマンドを実行できることを前提としています。環境で必要になる可能性があるネットワーク設定や SQL クライアント設定については詳しく説明しません。

一部の環境では、Amazon Redshift クラスターの起動時にポートを指定します。このポートをクラスターのエンドポイント URL とともに使用して、クラスターにアクセスします。また、このポートを経由するクラスターへのアクセスを許可するために、インバウンド進入ルールをセキュリティグループに作成します。

クライアントコンピュータがファイアウォールの内側にある場合、使用可能な開いているポートを把握していることを確認してください。この開いているポートを使用して、SQL クライアントツールからクラスターに接続してクエリを実行できます。このポートが分からない場合は、ネットワークファイアウォールのルールを把握している担当者の協力を得て、ファイアウォールで開いているポートを確認してください。

Amazon Redshift はデフォルトでポート 5439 を使用しますが、お使いのファイアウォールでこのポートが開いていない場合は接続できません。作成後の Amazon Redshift クラスターでは、ポート番号を変更することはできません。したがって、必ず起動プロセス中にお使いの環境で機能する開いているポートを指定してください。

ステップ 1: サンプルの Amazon Redshift クラスターを作成する

このチュートリアルでは、1 つのデータベースを含む Amazon Redshift クラスターを作成する手順について説明します。次に、Amazon S3 からデータベース内のテーブルにデータセットをロードします。このサンプルクラスターは、Amazon Redshift サービスを評価するのに使用できます。

Amazon Redshift クラスターの設定を開始する前に、「AWS へのサインアップ」や「ファイアウォールルールの決定」などの必要な前提条件を必ず完了してください。

別の AWS リソースからデータにアクセスするオペレーションの場合、クラスターには、そのリソースとリソース上のデータに対しユーザーに代わってアクセスするためのアクセス許可が必要です。この場合の例としては、SQL COPY コマンドを使用して Amazon Simple Storage Service (Amazon S3) からデータをロードすることが挙げられます。AWS Identity and Access Management (IAM) を使用してアクセス権限を提供できます。これを行うには、クラスターに対して作成してアタッチした IAM ロールを使用できます。認証情報とアクセス許可の詳細については、「Amazon Redshift データベース開発者ガイド」の「認証情報とアクセス許可」を参照してください。

Amazon Redshift クラスターを作成するには
  1. AWS Management Console にサインインして、https://console.aws.amazon.com/redshiftv2/ で Amazon Redshift コンソールを開きます。

    重要

    IAM ユーザー認証情報を使う場合は、クラスターオペレーションを実行するために必要なアクセス許可を持っていることを確認してください。詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift のセキュリティ」を参照してください。

  2. AWS コンソールで、クラスターを作成する先の AWS リージョンを選択します。

  3. ナビゲーションメニューで [Clusters] (クラスター)、[Create cluster] (クラスターを作成) の順に選択します。[クラスターの作成] ページが表示されます。

  4. [Cluster configuration (クラスター構成)] セクションで、[Cluster identifier (クラスター識別子)]、[Node type (ノードタイプ)]、および [Nodes (ノード)] の値を指定します。

    • クラスター識別子: このチュートリアルでは examplecluster を入力します。この識別子は一意である必要があります。識別子は、有効な文字として a~z (小文字のみ) および - (ハイフン) を使って、1~63 文字にする必要があります。

    • クラスターのサイズを設定するには、次のいずれかの方法を選択します。

      注記

      次のステップでは、RA3 ノードタイプをサポートしている AWS リージョンを前提としています。RA3 ノードタイプをサポートする AWS リージョン のリストについては、「Amazon Redshift 管理ガイド」の「RA3 ノードタイプの概要」を参照してください。各ノードタイプのノード仕様とサイズの詳細については、「ノードタイプの詳細を参照してください」。

      • クラスターのサイズがわからない場合は、[選択のヘルプ] を選んでください。これにより、データウェアハウスに保存するデータのサイズやクエリ特性について質問するサイジング計算ツールが開きます。

        クラスターの必須サイズ (ノードタイプとノード数) がわかっている場合は、[自分で選択します] を選んでください。次に、[Node type] (ノードタイプ) と [Nodes] (ノード) の数を選択して、クラスターのサイズを設定します。

        このチュートリアルでは、[ノードタイプ][ra3.4xlarge] を、[ノード数][2] をそれぞれ選択します。

        [AZ 設定] を選択できる場合は、[シングル AZ] を選択します。

      • Amazon Redshift が提供するサンプルデータセットを使用するには、[Sample data] (サンプルデータ) で、[Load sample data] (サンプルデータをロード) をクリックします。Amazon Redshift は、サンプルデータセットの Tickit をデフォルトのdev データベースと public スキーマにロードします。

  5. [データベース設定] セクションで、[管理者ユーザー名] の値を指定します。[管理者パスワード] で、次のオプションから選択します。

    • [パスワードの生成] – Amazon Redshift によって生成されたパスワードを使用します。

    • [管理者パスワードを手動で追加する] – 独自のパスワードを使用します。

    • [AWS Secrets Manager での管理者認証情報の管理] – Amazon Redshift は管理者パスワードの生成と管理に AWS Secrets Manager を使用します。AWS Secrets Manager を使用してパスワードのシークレットの生成と管理を行うには料金がかかります。AWS Secrets Manager の料金の詳細については、「AWS Secrets Manager の料金」を参照してください。

    このチュートリアルでは以下の値を使用します。

    • [管理者ユーザー名]: awsuser を入力します。

    • [管理者ユーザーパスワード]: パスワードに Changeit1 を入力します。

  6. 以下で説明するように、このチュートリアルでは、 IAM ロールを作成し、そのロールをクラスターのデフォルトとして設定しています。クラスターにデフォルトとして設定できる IAM ロールセットは 1 つのみです。

    1. [Cluster permissions] (クラスターのアクセス許可) にある [Manage IAM roles] (IAM ロールの管理) で、[Create IAM role] (IAM ロールを作成) をクリックします。

    2. 次のいずれかの方法で、 IAM ロールがアクセスする Amazon S3 バケットを指定します。

      • 作成された IAM ロールに対し、redshift という名前の Amazon S3 バケットへのアクセスのみを許可するには、[No additional Amazon S3 bucket] (追加の Amazon S3 バケットはありません) を選択します。

      • 作成された IAM ロールが、すべての Amazon S3 バケットにアクセスできるようにするには、[Any Amazon S3 bucket] (すべての Amazon S3 バケット) を選択します。

      • 作成された IAM ロールがアクセスする 1 つ以上の Amazon S3 バケットを指定するには、[Specific Amazon S3 buckets] (特定の Amazon S3 バケット) を選択します 次に、テーブルから Amazon S3 バケットを 1 つ以上選択します。

    3. [Create IAM role as default] (デフォルトとして IAM ロールを作成する) をクリックします。Amazon Redshift は、クラスター用に IAM ロールを自動的に作成し、デフォルトとして設定します。

      コンソールから IAM ロールを作成したため、IAM ロールには AmazonRedshiftAllCommandsFullAccess ポリシーがアタッチされています。これにより Amazon Redshift は、IAM アカウント内の Amazon リソースからのデータのコピーやロード、そのデータに対するクエリおよび分析の実行が可能になります。

    クラスターのデフォルトの IAM ロールを管理する詳しい方法については、「Amazon Redshift 管理ガイド」の「Amazon Redshift 用にデフォルトの IAM ロールを作成する」を参照してください。

  7. (オプション) [Additional configurations] (追加設定) セクションで、[Use defaults] (デフォルトを使用) をオフにして、[Network and security] (ネットワークとセキュリティ)、[Database configurations] (データベース設定)、[Maintenance] (メンテナンス)、[Monitoring] (モニタリング)、および [Backup] (バックアップ) 設定を変更します。

    場合によっては、[Load sample data] (サンプルデータをロード) を使用してクラスターを作成し、拡張 Amazon VPC ルーティングを有効すること考えられます。その場合、仮想プライベートクラウド (VPC) のクラスターは Amazon S3 エンドポイントにアクセスし、データをロードする必要があります。

    クラスターをパブリックにアクセスできるようにするには、以下の 2 つのうちいずれかを実行します。クラスターがインターネットにアクセスできるように、ネットワークアドレス変換 (NAT) アドレスを VPC 内で設定します。または、VPC で Amazon S3 VPC エンドポイントを設定します。拡張された Amazon VPC ルーティングの詳細については、「Amazon Redshift 管理ガイド」の「拡張された Amazon VPC ルーティングをオンにする」を参照してください。

  8. [クラスターを作成] を選択します。[クラスター] ページでクラスターが作成され、ステータスが [Available] になるまで待ちます。

ステップ 2: SQL クライアントのインバウンドルールを設定する

注記

このステップをスキップし、Amazon Redshift クエリエディタ v2 を使用してクラスターにアクセスすることをお勧めします。

このチュートリアルの後半では、Amazon VPC サービスに基づく Virtual Private Cloud (VPC) 内からクラスターにアクセスします。ただし、ファイアウォールの外部から SQL クライアントを使用してクラスターにアクセスする場合は、必ずインバウンドアクセスを許可してください。

ファイアウォールを確認し、クラスターへのインバウンドアクセスを許可するには
  1. ファイアウォールの外側からクラスターがアクセスされる必要がある場合、ファイアウォールのルールを確認します。この例としては、クライアントが Amazon Elastic Compute Cloud (Amazon EC2) インスタンスか、外部のコンピュータである場合などが挙げられます。

    ファイアウォールルールの詳細については、「Amazon EC2 ユーザーガイド」の「セキュリティグループルール」を参照してください。

  2. Amazon EC2 外部クライアントからアクセスするには、インバウンドトラフィックを許可するクラスターにアタッチされたセキュリティグループに進入ルールを追加します。Amazon EC2 コンソールに Amazon EC2 セキュリティグループのルールを追加します。例えば、CIDR/IP が192.0.2.0/24 の場合、その IP アドレス範囲のクライアントはクラスターに接続できます。環境に適した CIDR/IP を見つけます。

ステップ 3: SQL クライアントにアクセスを許可し、クエリを実行する

Amazon Redshift クラスターがホストするデータベースを SQL クライアントからクエリするには、複数のオプションがあります。具体的には次のとおりです。

  • Amazon Redshift クエリエディタ v2 を使用してクラスターに接続し、クエリを実行します。

    クエリエディタ v2 を使用すると、SQL クライアントアプリケーションをダウンロードしてセットアップする必要はありません。Amazon Redshift クエリエディタ v2 は、Amazon Redshift コンソールから起動します。

  • RSQL を使用してクラスターに接続します。詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift RSQL を使用した接続」を参照してください。https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html

  • SQL Workbench/J などの SQL クライアントツールを介してクラスターに接続します。詳細については、「Amazon Redshift 管理ガイド」の「SQL Workbench/J を使用してクラスターに接続する」を参照してください。

このチュートリアルでは、Amazon Redshift クラスターがホストするデータベースにクエリを実行する簡単な方法として、Amazon Redshift クエリエディタ v2 を使用します。クラスターを作成したら、すぐにクエリを実行できます。Amazon Redshift クエリエディタ v2 を使用する際の詳しい考慮事項については、「Amazon Redshift 管理ガイド」の「クエリエディタ v2 を使用する際の考慮事項」を参照してください。

クエリエディタ v2 に対するアクセス許可を付与する

管理者が AWS アカウントのために最初にクエリエディタ v2 を設定するときは、クエリエディタ v2 のリソースを暗号化するために使用する AWS KMS key を選択します。Amazon Redshift クエリエディタ v2 のリソースには、保存されたクエリ、ノートブック、チャートなどがあります。デフォルトでは、AWS 所有キーは、リソースを暗号化するために使用されます。または、管理者はカスタマーマネージドキーを使用することもできます。その場合は、設定ページでキーの Amazon リソースネーム (ARN) を選択します。アカウントの設定後は、AWS KMS を使用した暗号化の設定は変更できません。詳細については、「Amazon Redshift 管理ガイド」の「AWS アカウントの設定」を参照してください。

クエリエディタ v2 にアクセスするには、アクセス許可が必要です。管理者は、Amazon Redshift クエリエディタ v2 の AWS マネージドポリシーのいずれかを、IAM ロールまたはユーザーにアタッチして、アクセス許可を付与できます。これらの AWS 管理ポリシーは、リソースのタグ付けでクエリを共有する方法を制御するさまざまなオプションを使用して記述されます。IAM コンソール (https://console.aws.amazon.com/iam/) を使用して IAM ポリシーをアタッチできます。詳細については、「Amazon Redshift 管理ガイド」の「クエリエディタ v2 へのアクセス」を参照してください。

また、提供された管理ポリシーで許可もしくは拒否されたアクセス権限に基づいて、独自のポリシーを作成することもできます。IAM コンソールのポリシーエディタを使用して独自のポリシーを作成する場合は、ビジュアルエディタでポリシーを作成する対象のサービスとして、[SQL Workbench] を選択します。クエリエディタ v2 では、ビジュアルエディタ および IAM Policy Simulator の中で、サービス名として AWS SQL Workbench を使用します。

詳細については、「Amazon Redshift 管理ガイド」の「クエリエディタ v2 の使用」を参照してください。

ステップ 4: Amazon S3 から Amazon Redshift にデータをロードする

クラスターを作成したら、Amazon S3 からデータベーステーブルにデータをロードできます。Amazon S3 からデータをロードする方法は複数あります。

  • SQL クライアントを使用して SQL CREATE TABLE コマンドを実行することで、データベースにテーブルを作成し、SQL COPY コマンドを使用して Amazon S3 からデータをロードできます。Amazon Redshift クエリエディタ v2 は、SQL クライアントです。

  • Amazon Redshift クエリエディタ v2 のロードウィザードを使用できます。

このチュートリアルでは、Amazon Redshift Query Editor V2 で SQL コマンドを実行してテーブルを作成し、データをコピーする方法を示します。Amazon Redshift コンソールのナビゲーションペインからクエリエディタ v2 を起動します。クエリエディタ v2 で、管理者ユーザー awsuser として examplecluster クラスターと dev という名前のデータベースへの接続を作成します。このチュートリアルでは、接続の作成時に [データベースユーザー名を使用した一時的な認証情報] を選択します。Amazon Redshift クエリエディタ v2 の使用の詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift データベースに接続する」を参照してください。

SQL コマンドを使用して Amazon S3 からデータをロードする

クエリエディタ v2 のクエリエディタペインで、examplecluster クラスターと dev データベースに接続していることを確認します。次に、データベースにテーブルを作成し、テーブルにデータをロードします。このチュートリアルでは、Amazon S3 バケットからデータをロード可能にし、多くの AWS リージョンからアクセスできるようにします。

次の手順では、テーブルを作成し、公開の Amazon S3 バケットからデータをロードします。

Amazon Redshift クエリエディタ v2 を使用して次の create table ステートメントをコピーして実行し、dev データベースの public スキーマにテーブルを作成します。構文の詳細については、「Amazon Redshift データベースデベロッパーガイド」の「CREATE TABLE」を参照してください。

クエリエディタ v2 などの SQL クライアントを使用してデータを作成およびロードするには
  1. 次の SQL コマンドを実行して sales テーブルを作成します。

    drop table if exists sales; 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);
  2. 次の SQL コマンドを実行して date テーブルを作成します。

    drop table if exists date; 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'));
  3. COPY コマンドを使用して、Amazon S3 から sales テーブルをロードします。

    注記

    Amazon S3 から Amazon Redshift に大容量のデータセットをロードする場合は、COPY コマンドを使用することをお勧めします。COPY 構文の詳細については、「Amazon Redshift データベースデベロッパーガイド」の「COPY」を参照してください。

    サンプルデータをロードするために、ユーザーに代わってクラスターが Amazon S3 にアクセスするための認証を提供します。認証を行うには、クラスターの作成時に [IAM ロールをデフォルトとして作成する] を選択し、クラスターに対して作成して default として設定した IAM ロールを参照します。

    次の SQL コマンドを使用して sales テーブルをロードします。オプションで、Amazon S3 バケットから sales テーブルのソースデータをダウンロードして表示できます。。

    COPY sales FROM 's3://redshift-downloads/tickit/sales_tab.txt' DELIMITER '\t' TIMEFORMAT 'MM/DD/YYYY HH:MI:SS' REGION 'us-east-1' IAM_ROLE default;
  4. 次の SQL コマンドを使用して date テーブルをロードします。オプションで、Amazon S3 バケットから date テーブルのソースデータをダウンロードして表示できます。。

    COPY date FROM 's3://redshift-downloads/tickit/date2008_pipe.txt' DELIMITER '|' REGION 'us-east-1' IAM_ROLE default;

クエリエディタ v2 を使用して Amazon S3 からデータをロードする

このセクションでは、独自のデータを Amazon Redshift クラスターにロードする方法について説明します。クエリエディタ v2 では、[データのロード] ウィザードを使用してデータを簡単にロードできます。クエリエディタ v2 の [データのロード] ウィザードで生成および使用する COPY コマンドは、Amazon S3 からデータをロードするための COPY コマンド構文で使用できるパラメータの多くをサポートしています。Amazon S3 からコピーおよびロードをするために使用される COPY コマンドと、そのオプションの詳細については、Amazon Redshift データベース開発者ガイドの「Amazon S3 からの COPY」を参照してください。

Amazon S3 から Amazon Redshift に独自のデータをロードする際、Amazon Redshift には、指定された Amazon S3 バケットからデータをロードするための権限を持つ IAM ロールが必要です。

独自のデータを Amazon S3 から Amazon Redshift にロードするには、クエリエディタ v2 の [データのロード] ウィザードを使用できます。[データのロード] ウィザードの使用方法について詳しくは、「Amazon Redshift 管理ガイド」の「Amazon S3 からデータをロードする」を参照してください。

クラスターで TICKIT データを作成する

TICKIT は、Amazon Redshift でのデータのクエリ方法を学ぶ目的で、オプションで Amazon Redshift クラスターにロードできるサンプルデータベースです。完全な TICKIT テーブルセットを作成してクラスターにデータをロードするには、以下の方法を使用できます。

  • Amazon Redshift コンソールでクラスターを作成する場合は、TICKIT のサンプルデータを同時にロードできます。Amazon Redshift コンソールで、[クラスター][クラスターを作成] の順に選択します。[サンプルデータ] セクションで、[サンプルデータをロード] を選択します。Amazon Redshift のサンプルデータセットは、クラスターの作成時に Amazon Redshift クラスターの dev データベースに自動的にロードされます。

  • 既存のクラスターに接続するには、以下の手順を行います。

    • Amazon Redshift コンソールのナビゲーションバーで、[クラスター] を選択します。

    • [クラスター] ペインでクラスターを選択します。

    • [クエリデータ][クエリエディタ v2 でクエリ] の順に選択します。

    • リソースリストで examplecluster を展開します。クラスターに初めて接続する場合は、[examplecluster に接続] が表示されます。[データベースユーザー名とパスワード] を選択します。データベースは dev のままにします。ユーザー名に awsuser をパスワードに Changeit1 を指定します。

    • [Create connection] (接続の作成) を選択します。

  • Amazon Redshift クエリエディタ v2 を使用すると、TICKIT データを sample_data_dev という名前のサンプルデータベースにロードできます。リソースリストで [sample_data_dev] データベースを選択します。tickit ノードの横にある、[サンプルノートブックを開く] アイコンを選択します。サンプルデータベースを作成することを確認します。

  • Amazon Redshift クエリエディタ v2 は、サンプルデータベースと共に tickit-sample-notebook という名前のサンプルノートブックを作成します。[すべてを実行] を選択してこのノートブックを実行し、サンプルデータベース内のデータをクエリできます。

TICKIT データの詳細については、「Amazon Redshift データベース開発者ガイド」の「サンプルデータベース」を参照してください。

ステップ 5: クエリエディタを使用してクエリ例を試す

データベースをクエリするように Amazon Redshift クエリエディタ v2 を設定して使用するには、「Amazon Redshift 管理ガイド」の「Amazon Redshift クエリエディタ v2の使用」を参照してください。

次に示すように、今、いくつかのクエリ例をお試しください。クエリエディタ v2 で新しいクエリを作成するには、クエリペインの右上にある [+] アイコンを選択し、[SQL] を選択します。新しいクエリページが表示されたら、次の SQL クエリをコピーして貼り付けます。

注記

まずノートブックで最初のクエリを実行し、次の SQL コマンドを使用して search_path サーバー設定値を tickit スキーマに設定します。

set search_path to tickit;

SELECT コマンドの使用の詳細については、「Amazon Redshift データベース開発者ガイド」の「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;

ステップ 6: 環境をリセットする

以上のステップでは、Amazon Redshift クラスターの作成、テーブルへのデータのロード、Amazon Redshift クエリエディター v2 などの SQL クライアントを使用したデータのクエリを正常に完了しました。

このチュートリアルを完了したら、サンプルクラスターを削除して、環境を前の状態にリセットすることをお勧めします。クラスターを削除するまで、そのクラスターについて Amazon Redshift サービスの使用料が継続して発生します。

ただし、他の Amazon Redshift ガイドのタスクや「コマンドを実行して、データウェアハウス内のデータベースを定義して使用する」で説明しているタスクを試す場合は、サンプルクラスターの実行を継続することもできます。

クラスターを削除するには
  1. AWS Management Console にサインインして、https://console.aws.amazon.com/redshiftv2/ で Amazon Redshift コンソールを開きます。

  2. ナビゲーションメニューから [Clusters] (クラスター) を選択してクラスターのリストを表示します。

  3. examplecluster クラスターを選択します。[アクション] で、[削除] を選択します。[examplecluster を削除しますか?] ページが表示されます。

  4. 削除するクラスターを確認し、[最終スナップショットを作成] 設定のボックスをオフにして、delete を入力して削除を確認します。[クラスターを削除] を選択します。

クラスターリストページで、クラスターのステータスはクラスターが削除される際に更新されます。

本チュートリアルを完了した後は、Amazon Redshift について学習するためのその他のリソース で、Amazon Redshift に関する詳細と次に行うステップを説明しています。