ゼファーネットのロゴ

AWS スキーマ変換ツール (SCT) を使用して Google BigQuery を Amazon Redshift に移行する

日付:

Amazonレッドシフト は、分析ワークロードにプロビジョニングされたコンピューティングまたはサーバーレス コンピューティングを使用する柔軟性を提供する、高速で完全に管理されたペタバイト規模のデータ ウェアハウスです。 使用する AmazonRedshiftサーバーレス & クエリ エディター v2、 数回クリックするだけで大​​規模なデータセットを読み込んでクエリを実行し、使用した分だけ支払うことができます。 Amazon Redshift の分離されたコンピューティングとストレージ アーキテクチャにより、高度にスケーラブルで回復力があり、費用対効果の高いワークロードを構築できます。 多くのお客様がデータ ウェアハウスのワークロードを Amazon Redshift に移行し、その豊富な機能を活用しています。 以下は注目すべき機能のほんの一部です。

  • Amazon Redshift は、より広範なものとシームレスに統合します AWS の分析サービス. これにより、適切なジョブに適切なツールを選択できます。 最新の分析は、SQL ベースのデータ ウェアハウジングよりもはるかに広範です。 Amazon Redshift で構築できます 湖の家の建築 次に、あらゆる種類の分析を実行します。 インタラクティブな分析, 運用分析, ビッグデータ処理, ビジュアルデータの準備, 予測分析、機械学習 (ML) など。
  • ETL、ダッシュボード、アドホック クエリなどのワークロードが相互に干渉することを心配する必要はありません。 あなたはできる ワークロードを分離する 同じ基礎となるデータセットを使用しながら、データ共有を使用します。
  • ユーザーがピーク時に多くのクエリを実行すると、コンピューティングは数秒以内にシームレスにスケーリングされ、高い同時実行性で一貫したパフォーマンスが提供されます。 24 時間の使用に対して 97 時間の無料の同時実行スケーリング容量を取得します。 この無料のクレジットは、Amazon Redshift の顧客ベースの XNUMX% の同時実行の需要を満たします。
  • Amazon Redshift は使いやすい 自己調整と自己最適化 能力。 データ ウェアハウスの管理に貴重な時間を費やすことなく、より迅速に洞察を得ることができます。
  • フォールトトレランス が組み込まれています。 Amazon Redshift に書き込まれたすべてのデータは、自動的かつ継続的にレプリケートされます。 Amazon Simple Storage Service(Amazon S3)。 ハードウェア障害は自動的に交換されます。
  • アマゾンレッドシフトは やり取りが簡単  . 従来型、クラウドネイティブ、コンテナー化、サーバーレスの Web サービス ベースまたはイベント駆動型のアプリケーションなどを使用してデータにアクセスできます。
  • 赤方偏移ML データ サイエンティストは、使い慣れた SQL を使用して ML モデルを簡単に作成、トレーニング、デプロイできます。 また、SQL を使用して予測を実行することもできます。
  • Amazon Redshift が提供する 包括的なデータ セキュリティ 追加料金なしで。 エンド ツー エンドのデータ暗号化の設定、ファイアウォール ルールの構成、機密データに対する詳細な行および列レベルのセキュリティ制御の定義などを行うことができます。
  • Amazonレッドシフト AWS の他のサービスやサードパーティ ツールとシームレスに統合します。 大規模なデータセットを迅速かつ確実に移動、変換、読み込み、およびクエリできます。

この投稿では、Google BigQuery から Amazon Redshift にデータ ウェアハウスを移行するためのウォークスルーを提供します。 AWS スキーマ変換ツール (AWS SCT) & AWS SCT データ抽出エージェント. AWS SCT は、データベース コードとストレージ オブジェクトの大部分をターゲット データベースと互換性のある形式に自動的に変換することで、異種データベースの移行を予測可能にするサービスです。 自動変換できないオブジェクトは明確にマークされているため、手動で変換して移行を完了することができます。 さらに、AWS SCT はアプリケーション コードをスキャンして埋め込み SQL ステートメントを探し、それらを変換できます。

ソリューションの概要

AWS SCT は、サービス アカウントを使用して BigQuery プロジェクトに接続します。 まず、BigQuery データが移行される Amazon Redshift データベースを作成します。 次に、S3 バケットを作成します。 次に、AWS SCT を使用して BigQuery スキーマを変換し、Amazon Redshift に適用します。 最後に、データを移行するために、BigQuery からデータを抽出し、S3 バケットにアップロードしてから、Amazon Redshift にコピーする AWS SCT データ抽出エージェントを使用します。

前提条件

このチュートリアルを開始する前に、次の前提条件を満たしている必要があります。

  1. AWS SCT を備えたワークステーション、 アマゾン コレット 11、および Amazon Redshift ドライバー。
    1. あなたが使用することができます Amazon Elastic Compute Cloud(Amazon EC2) インスタンスまたはローカル デスクトップをワークステーションとして使用できます。 このウォークスルーでは、 Amazon EC2 Windows インスタンス. それを作成するには、使用します このガイド.
    2. 以前に作成した EC2 インスタンスに AWS SCT をダウンロードしてインストールするには、次を使用します。 このガイド.
    3. から Amazon Redshift JDBC ドライバーをダウンロードします。 この場所.
    4. ダウンロードしてインストール アマゾン コレット 11.
  2. AWS SCT がソース BigQuery プロジェクトに接続するために使用できる GCP サービス アカウント。
    1. グラント BigQuery 管理者 & ストレージ管理者 ロールをサービス アカウントに追加します。
    2. Google クラウド管理コンソールで作成されたサービス アカウント キー ファイルを、AWS SCT を持つ EC2 インスタンスにコピーします。
    3. GCP で Cloud Storage バケットを作成して、移行中にソース データを保存します。

このチュートリアルでは、次の手順について説明します。

  • Amazon Redshift サーバーレス ワークグループと名前空間を作成する
  • AWS S3 バケットとフォルダを作成する
  • AWS SCT を使用して BigQuery スキーマを変換して Amazon Redshift に適用する
    • Google BigQuery ソースへの接続
    • Amazon Redshift ターゲットに接続する
    • BigQuery スキーマを Amazon Redshift に変換する
    • 評価レポートを分析し、アクション アイテムに対処する
    • 変換されたスキーマを適用して Amazon Redshift をターゲットにする
  • AWS SCT データ抽出エージェントを使用してデータを移行する
    • トラスト ストアとキー ストアの生成 (オプション)
    • データ抽出エージェントをインストールして開始する
    • データ抽出エージェントの登録
    • 大きなテーブルに仮想パーティションを追加する (オプション)
    • ローカル移行タスクを作成する
    • ローカル データ移行タスクの開始
  • Amazon Redshift でデータを表示する

Amazon Redshift サーバーレス ワークグループと名前空間を作成する

このステップでは、Amazon Redshift Serverless ワークグループと名前空間を作成します。 ワークグループはコンピューティング リソースのコレクションであり、ネームスペースはデータベース オブジェクトとユーザーのコレクションです。 ワークロードを分離し、Amazon Redshift Serverless でさまざまなリソースを管理するために、名前空間とワークグループを作成し、ストレージとコンピューティング リソースを個別に管理できます。

次の手順に従って、Amazon Redshift Serverless ワークグループと名前空間を作成します。

  • に移動します AmazonRedshiftコンソール.
  • 右上で、使用する AWS リージョンを選択します。
  • 左側の Amazon Redshift ペインを展開し、選択します Redshift サーバーレス.
  • 選択する ワークグループを作成.
  •  ワークグループ名、 コンピューティング リソースを説明する名前を入力します。
  • VPC が AWS SCT を使用する EC2 インスタンスとしての VPC と同じであることを確認します。
  • 選択する Next.

  • 名前空間名で、データセットを説明する名前を入力します。
  • In データベース名とパスワード セクションで、チェックボックスを選択します 管理者ユーザーの資格情報をカスタマイズする.
    • 管理者ユーザー名、 awsuser など、任意のユーザー名を入力します。
    • 管理者ユーザーのパスワード: 選択したパスワードを入力します。たとえば、 MyRedShiftPW2022
  • 選択する 次へ。 Amazon Redshift Serverless 名前空間のデータはデフォルトで暗号化されることに注意してください。
  • レビューと作成 ページ、選択 創造する.
  • 作る AWS Identity and Access Management(IAM) ロールを作成し、以下で説明するように、名前空間のデフォルトとして設定します。 デフォルトの IAM ロールは XNUMX つしか存在できないことに注意してください。
    • に移動します Amazon Redshift サーバーレス ダッシュボード.
    • 名前空間/ワークグループで、作成した名前空間を選択します。
    • MFAデバイスに移動する セキュリティと暗号化.
    • 権限、選択する IAMロールを管理する.
    • MFAデバイスに移動する IAMロールを管理する。 次に、を選択します IAMロールを管理する ドロップダウンして選択 IAMロールを作成する.
    • IAM ロールがアクセスする Amazon S3 バケットを指定するで、次のいずれかの方法を選択します。
      • 選択する 追加の Amazon S3 バケットなし 作成された IAM ロールが、名前が redshift で始まる S3 バケットのみにアクセスできるようにします。
      • 選択する 任意の Amazon S3 バケット 作成された IAM ロールがすべての S3 バケットにアクセスできるようにします。
      • 選択する 特定の Amazon S3 バケット 作成された IAM ロールがアクセスする 3 つ以上の S3 バケットを指定します。 次に、テーブルから XNUMX つ以上の SXNUMX バケットを選択します。
    • 選択する デフォルトとしてIAMロールを作成する. Amazon Redshift は IAM ロールを自動的に作成し、デフォルトとして設定します。
  • 作成した Amazon Redshift Serverless ワークグループのエンドポイントをキャプチャします。

S3 バケットとフォルダを作成する

データ移行プロセス中、AWS SCT は抽出されたデータのステージング領域として Amazon S3 を使用します。 次の手順に従って、S3 バケットを作成します。

  • に移動します AmazonS3コンソール
  • 選択する バケットを作成するを選択します。 バケットを作成する ウィザードが開きます。
  • バケット名、バケットの一意の DNS 準拠の名前を入力します (例: 一意の名前-bq-rs). バケットの命名規則を見る 名前を選ぶとき。
  • AWS リージョンには、Amazon Redshift Serverless ワークグループを作成したリージョンを選択します。
  • 選択 バケットを作成します。
  • AmazonS3コンソール、作成したばかりの S3 バケットに移動します (例: 一意の名前-bq-rs).
  • 選択する "フォルダーを作る" 新しいフォルダを作成します。
  • フォルダ名、 入力します 入ってきます 選択して フォルダーを作成する.

AWS SCT を使用して BigQuery スキーマを変換して Amazon Redshift に適用する

BigQuery スキーマを Amazon Redshift 形式に変換するには、AWS SCT を使用します。 前に作成した EC2 インスタンスにログインしてから、AWS SCT を起動します。

AWS SCT を使用して次の手順に従います。

BigQuery ソースに接続する

  • ノーザンダイバー社の ファイルメニュー 選ぶ 新しいプロジェクトを作成する.
  • プロジェクト ファイルとデータを保存する場所を選択します。
  • 次のように、プロジェクトに意味のある覚えやすい名前を付けます。 BigQuery から Amazon Redshift へ.
  • BigQuery ソース データ ウェアハウスに接続するには、次を選択します。 ソースを追加 メインメニューから
  • 選択する ビッグクエリー 選択して Next。 ザ・ ソースを追加 ダイアログボックスが表示されます。
  •  接続名に、BigQuery 接続を説明する名前を入力します。 AWS SCT は、この名前を左側のパネルのツリーに表示します。
  •  キーパスで、Google クラウド管理コンソールで以前に作成したサービス アカウント キー ファイルのパスを指定します。
  • 選択する 試験用接続 AWS SCT がソース BigQuery プロジェクトに接続できることを確認します。
  • 接続が正常に検証されたら、選択します お問合せ.

Amazon Redshift ターゲットに接続する

次の手順に従って、Amazon Redshift に接続します。

  • AWS SCT で、選択 ターゲットを追加 メインメニューから
  • 選択する Amazonレッドシフト、を選択します 次へ。   ターゲットを追加 ダイアログボックスが表示されます。
  • 接続名で、Amazon Redshift 接続を説明する名前を入力します。 AWS SCT は、この名前を右側のパネルのツリーに表示します。
  • サーバー名、 以前に取得した Amazon Redshift Serverless ワークグループ エンドポイントを入力します。
  • サーバポート、 入力します 5439.
  • データベース、 入力します devの.
  • ユーザー名、 Amazon Redshift Serverless ワークグループの作成時に選択したユーザー名を入力します。
  • パスワード で、Amazon Redshift Serverless ワークグループの作成時に選択したパスワードを入力します。
  • チェックしない 「AWS Glue を使用」ボックス。
  • 選択する 試験用接続 AWS SCT がターゲットの Amazon Redshift ワークグループに接続できることを確認します。
  • 選択する お問合せ Amazon Redshift ターゲットに接続します。

または、に格納されている接続値を使用できることに注意してください。 AWS シークレット マネージャー。 

BigQuery スキーマを Amazon Redshift に変換する

ソースとターゲットの接続が正常に確立されると、左側のペインにソースの BigQuery オブジェクト ツリーが表示され、右側のペインにターゲットの Amazon Redshift オブジェクト ツリーが表示されます。

次の手順に従って、BigQuery スキーマを Amazon Redshift 形式に変換します。

  • 左ペインで、変換するスキーマを右クリックします。
  • 選択する スキーマの変換.
  • ダイアログ ボックスに質問が表示されます。 オブジェクトは、ターゲット データベースに既に存在している可能性があります。 交換?。 選択する はい。

変換が完了すると、Amazon Redshift ペイン (右側のペイン) に BigQuery スキーマと同じ名前で作成された新しいスキーマが表示されます。

使用したサンプル スキーマには、16 個のテーブル、3 つのビュー、および 3 つのプロシージャがあります。 これらのオブジェクトは、右側のペインに Amazon Redshift 形式で表示されます。 AWS SCT は、すべての BigQuery コードとデータ オブジェクトを Amazon Redshift 形式に変換します。 さらに、AWS SCT を使用して、外部 SQL スクリプト、アプリケーション コード、または埋め込み SQL を含む追加ファイルを変換できます。

評価レポートを分析し、アクション アイテムに対処する

AWS SCT は、移行の複雑さを評価するための評価レポートを作成します。 AWS SCT は、コードとデータベース オブジェクトの大部分を変換できます。 ただし、一部のオブジェクトは手動で変換する必要があります。 AWS SCT は、変換統計図でこれらのオブジェクトを青色で強調表示し、複雑さが付加されたアクション アイテムを作成します。

評価レポートを表示するには、 メインビュー 評価レポート ビュー 次のように:

  まとめ タブには、自動的に変換されたオブジェクトと、自動的に変換されなかったオブジェクトが表示されます。 緑色は、自動的に変換された、または単純なアクション アイテムを使用したことを表します。 青は、手動による介入が必要な中程度および複雑なアクション アイテムを表します。

  アクションアイテム タブには、コンバージョンの問題ごとに推奨されるアクションが表示されます。 リストからアクション項目を選択すると、AWS SCT はアクション項目が適用されるオブジェクトを強調表示します。

レポートには、スキーマ アイテムを手動で変換する方法に関する推奨事項も含まれています。 たとえば、評価の実行後、データベース/スキーマの詳細なレポートには、アクション アイテムを変換するための推奨事項を設計および実装するために必要な労力が示されます。 手動変換の処理方法の決定の詳細については、次を参照してください。 AWS SCT での手動変換の処理. Amazon Redshift は、スキーマを Amazon Redshift に変換する際に、いくつかのアクションを自動的に実行します。 これらのアクションを持つオブジェクトには、赤い警告サインが付けられます。

右側のペインから選択することで、個々のオブジェクト DDL を評価および検査できます。また、必要に応じて編集することもできます。 次の例では、AWS SCT は BigQuery テーブル ncaaf_referee_data の RECORD および JSON データ型の列を Amazon Redshift の SUPER データ型に変更します。 ncaaf_referee_data テーブルのパーティション キーは、Amazon Redshift の分散キーとソート キーに変換されます。

変換されたスキーマを適用して Amazon Redshift をターゲットにする

変換されたスキーマを Amazon Redshift に適用するには、右ペインで変換されたスキーマを選択し、右クリックして、 データベースに適用.

AWS SCT データ抽出エージェントを使用して BigQuery から Amazon Redshift にデータを移行する

AWS SCT 抽出エージェントは、ソース データベースからデータを抽出し、AWS クラウドに移行します。 このウォークスルーでは、AWS SCT 抽出エージェントを設定して BigQuery からデータを抽出し、Amazon Redshift に移行する方法を示します。

まず、AWS SCT がインストールされている Windows インスタンスに AWS SCT 抽出エージェントをインストールします。 パフォーマンスを向上させるために、可能であれば別の Linux インスタンスを使用して抽出エージェントをインストールすることをお勧めします。 大きなデータセットの場合、複数のデータ抽出エージェントを使用してデータ移行速度を上げることができます。

トラスト ストアとキー ストアの生成 (オプション)

AWS SCT データエクストラクタとの Secure Socket Layer (SSL) 暗号化通信を使用できます。 SSL を使用すると、アプリケーション間で渡されるすべてのデータは非公開で不可欠なままになります。 SSL 通信を使用するには、AWS SCT を使用してトラスト ストアとキー ストアを生成する必要があります。 SSL を使用しない場合は、この手順をスキップできます。 本番ワークロードには SSL を使用することをお勧めします。

次の手順に従って、トラスト ストアとキー ストアを生成します。

  1. AWS SCT で、[設定] → [グローバル設定] → [セキュリティ] に移動します。
  2. 選択する トラストとキー ストアを生成する.
  3. トラスト ストアとキー ストアの名前とパスワードを入力し、それらを保存する場所を選択します。
  4. 選択する 生成する.

データ抽出エージェントをインストールして構成する

AWS SCT のインストール パッケージには、サブフォルダー エージェント (aws-schema-conversion-tool-1.0.latest.zipagents)。 のような名前の実行可能ファイルを見つけてインストールします。 aws-schema-conversion-tool-extractor-xxxxxxxx.msi。

インストールプロセスでは、次の手順に従って AWS SCT Data Extractor を設定します。

  1. リスニングポートで、エージェントがリッスンするポート番号を入力します。 デフォルトでは 8192 です。
  2. ソース ベンダーを追加する、 入る いや、 BigQuery に接続するためのドライバーは必要ありません。
  3.  Amazon Redshift ドライバーを追加する、 入る はい.
  4. Redshift JDBC ドライバー ファイルを入力してくださいで、Amazon Redshift JDBC ドライバーをダウンロードした場所を入力します。
  5. 作業フォルダで、AWS SCT データ抽出エージェントが抽出されたデータを保存するパスを入力します。 作業フォルダーはエージェントとは別のコンピューターに置くことができ、XNUMX つの作業フォルダーを別のコンピューター上の複数のエージェントで共有できます。
  6. SSL通信を有効にする、 入る はい. SSL を使用しない場合は、ここで [いいえ] を選択します。
  7. キー ストアで、トラスト ストアとキー ストアの作成時に選択した保存場所を入力します。
  8. 鍵ストアのパスワードで、キー ストアのパスワードを入力します。
  9. クライアント SSL 認証を有効にする、 入る はい.
  10. トラストストアで、トラスト ストアとキー ストアの作成時に選択した保存場所を入力します。
  11. トラスト ストアのパスワードで、トラスト ストアのパスワードを入力します。
*************************************************
*                                               *
*     AWS SCT Data Extractor Configuration      *
*              Version 2.0.1.666                *
*                                               *
*************************************************
User name: Administrator
User home: C:Windowssystem32configsystemprofile
*************************************************
Listening port [8192]: 8192
Add a source vendor [YES/no]: no
No one source data warehouse vendors configured. AWS SCT Data Extractor cannot process data extraction requests.
Add the Amazon Redshift driver [YES/no]: YES
Enter Redshift JDBC driver file or files: C:UsersAdministratorDesktopBQToRedshiftSCTProjectredshift-jdbc42-2.1.0.9.jar
Working folder [C:Windowssystem32configsystemprofile]: C:UsersAdministratorDesktopBQToRedshiftSCTProject
Enable SSL communication [YES/no]: YES
Setting up a secure environment at "C:Windowssystem32configsystemprofile". This process will take a few seconds...
Key store [ ]: C:UsersAdministratorDesktopBQToRedshiftSCTProjectTrustAndKeyStoresBQToRedshiftKeyStore
Key store password:
Re-enter the key store password:
Enable client SSL authentication [YES/no]: YES
Trust store [ ]: C:UsersAdministratorDesktopBQToRedshiftSCTProjectTrustAndKeyStoresBQToRedshiftTrustStore
Trust store password:
Re-enter the trust store password:

データ抽出エージェントを開始しています

次の手順を使用して、抽出エージェントを開始します。 抽出エージェントがインストールされている各コンピューターで、この手順を繰り返します。

抽出エージェントはリスナーとして機能します。 この手順でエージェントを開始すると、エージェントは指示のリッスンを開始します。 後のセクションで、データ ウェアハウスからデータを抽出するようエージェントに指示を送信します。

抽出エージェントを開始するには、AWS SCT Data Extractor Agent ディレクトリに移動します。 たとえば、Microsoft Windows では、 C:Program FilesAWS SCT Data Extractor AgentStartAgent.bat.

  • 抽出エージェントがインストールされているコンピューターで、コマンド プロンプトまたはターミナル ウィンドウから、ご使用のオペレーティング システムの後にリストされているコマンドを実行します。
  • エージェントのステータスを確認するには、同じコマンドを実行しますが、start を status に置き換えます。
  • エージェントを停止するには、同じコマンドを実行しますが、start を stop に置き換えます。
  • エージェントを再起動するには、同じ RestartAgent.bat ファイルを実行します。

データ抽出エージェントを登録する

次の手順に従って、データ抽出エージェントを登録します。

  1. AWS SCT で、ビューを次のように変更します。 データ移行ビュー (その他) 選択して + 登録.
  2. 接続タブで:
    1. 説明で、データ抽出エージェントを識別する名前を入力します。
    2. ホスト名、 AWS SCT と同じワークステーションにデータ抽出エージェントをインストールした場合は、0.0.0.0 を入力してローカル ホストを示します。 それ以外の場合は、AWS SCT データ抽出エージェントがインストールされているマシンのホスト名を入力します。 パフォーマンスを向上させるために、Linux にデータ抽出エージェントをインストールすることをお勧めします。
    3. ポートに入力した番号を入力します。 リスニングポート AWS SCT データ抽出エージェントをインストールするとき。
    4. データ抽出エージェントへの AWS SCT 接続を暗号化するために SSL (SSL を使用している場合) を使用するには、チェックボックスを選択します。
  3. SSL を使用している場合は、[SSL] タブで次の操作を行います。
    1. トラストストア、 作成時に作成されたトラスト ストア名を選択します。 トラスト ストアとキー ストアの生成 (オプションで、SSL 接続が必要ない場合はこれをスキップできます).
    2. キーストア、 作成時に作成されたキー ストア名を選択します。 トラスト ストアとキー ストアの生成 (オプションで、SSL 接続が必要ない場合はこれをスキップできます).
  4. 選択する 試験用接続.
  5. 接続が正常に検証されたら、選択します 登録する.

大きなテーブルに仮想パーティションを追加する (オプション)

AWS SCT を使用して仮想パーティションを作成し、移行パフォーマンスを最適化できます。 仮想パーティションが作成されると、AWS SCT はパーティションのデータを並行して抽出します。 大きなテーブルには仮想パーティションを作成することをお勧めします。

次の手順に従って、仮想パーティションを作成します。

  1. AWS SCT のソース データベース ビューですべてのオブジェクトの選択を解除します。
  2. 仮想パーティショニングを追加するテーブルを選択します。
  3. テーブルを右クリックして、 仮想パーティショニングの追加.
  4. リスト、レンジ、または自動分割パーティションを使用できます。 仮想パーティショニングの詳細については、次を参照してください。 AWS SCT で仮想パーティショニングを使用する. この例では、レンジ パーティションを自動的に生成する自動分割パーティショニングを使用します。 開始値、終了値、およびパーティションの大きさを指定します。 AWS SCT はパーティションを自動的に決定します。 デモンストレーションとして、Lineorder テーブルで次の操作を行います。
    1. 開始値、1000000を入力します。
    2. 最終値、3000000を入力します。
    3. インターバル、パーティション サイズを示すために 1000000 を入力します。
    4. 選択する [OK]をクリックします。

の下に自動的に生成されたパーティションが表示されます。 仮想パーティション タブ。 この例では、AWS SCT はフィールドに対して次の XNUMX つのパーティションを自動的に作成しました。

    1. <1000000
    2. >=1000000 および <=2000000
    3. > 2000000および<= 3000000
    4. > 3000000
    5. 無効です

ローカル移行タスクを作成する

BigQuery から Amazon Redshift にデータを移行するには、AWS SCT からローカル移行タスクを作成、実行、モニタリングします。 この手順では、データ抽出エージェントを使用してタスクを作成し、データを移行します。

次の手順に従って、ローカル移行タスクを作成します。

  1. AWS SCT で、左ペインのスキーマ名の下にある 標準正規分布表.
  2. 選択する ローカルタスクの作成.
  3. 次の XNUMX つの移行モードから選択できます。
    1. ソース データを抽出し、エージェントが実行されているローカル PC/仮想マシン (VM) に保存します。
    2. データを抽出し、S3 バケットにアップロードします。
    3. データを S3 バケットに抽出してから、Amazon Redshift にコピーする [抽出のアップロードとコピー] を選択します。
  4. 高機能 タブ、 Google CS バケット フォルダ GCP 管理コンソールで以前に作成した Google Cloud Storage バケット/フォルダを入力します。 AWS SCT は、抽出されたデータをこの場所に保存します。
  5. Amazon S3 の設定 タブ、 Amazon S3 バケット フォルダ、 前に作成した S3 バケットのバケット名とフォルダ名を指定します。 AWS SCT データ抽出エージェントは、Amazon Redshift にコピーする前に、データを S3 バケット/フォルダーにアップロードします。
  6. 選択する テストタスク.
  7. タスクが正常に検証されたら、選択します 創造する.

ローカル データ移行タスクの開始

タスクを開始するには、 開始 ボタンの タスク タブには何も表示されないことに注意してください。

  • まず、データ抽出エージェントが BigQuery から GCP ストレージ バケットにデータを抽出します。
  • 次に、エージェントはデータを Amazon S3 にアップロードし、コピー コマンドを起動してデータを Amazon Redshift に移動します。
  • この時点で、AWS SCT はデータをソース BigQuery テーブルから Amazon Redshift テーブルに正常に移行しました。

Amazon Redshift でデータを表示する

データ移行タスクが正常に実行されたら、Amazon Redshift に接続してデータを検証できます。

次の手順に従って、Amazon Redshift でデータを検証します。

  1. に移動します Amazon Redshift クエリエディタ V2.
  2. 作成した Amazon Redshift Serverless ワークグループ名をダブルクリックします。
  3. 選択する 連合ユーザー 認証の下のオプション。
  4. 選択する 接続を作成する.
  5. を選択して、新しいエディターを作成します。 + のアイコンをクリックします。
  6. エディターで、検証したいスキーマ名とテーブル名/ビュー名から選択するクエリを記述します。 データを探索し、アドホック クエリを実行し、視覚化、グラフ、ビューを作成します。

以下は、このウォークスルーで使用したスポーツ データセットのソース BigQuery とターゲット Amazon Redshift を並べて比較したものです。

この演習のために作成した AWS リソースをクリーンアップします

次の手順に従って、EC2 インスタンスを終了します。

  1. に移動します Amazon EC2コンソール.
  2. ナビゲーションペインで、 インスタンス.
  3. 作成した EC2 インスタンスのチェックボックスを選択します。
  4. 選択する インスタンスの状態、次いで インスタンスを終了します.
  5. 選択する Terminate 確認を求められたら。

次の手順に従って、Amazon Redshift Serverless ワークグループと名前空間を削除します

  1. MFAデバイスに移動する Amazon Redshift サーバーレス ダッシュボード.
  2. 名前空間/ワークグループで、作成したワークスペースを選択します。
  3. 、選択する ワークグループを削除します。
  4. チェックボックスを選択します 関連する名前空間を削除します。
  5. チェックしない 最終スナップショットを作成します。
  6. 入力します 削除 削除確認テキスト ボックスで、 削除します。

次の手順に従って、S3 バケットを削除します

  1. MFAデバイスに移動する AmazonS3コンソール.
  2. 作成したバケットを選択します。
  3. 選択する 削除.
  4. 削除を確認するには、テキスト入力フィールドにバケットの名前を入力します。
  5. 選択する バケットを削除.

まとめ

データ ウェアハウスの移行は、挑戦的で複雑ですが、やりがいのあるプロジェクトになる可能性があります。 AWS SCT は、データ ウェアハウスの移行の複雑さを軽減します。 このウォークスルーに従って、データ移行タスクが BigQuery から Amazon Redshift にデータを抽出、ダウンロード、移行する方法を理解できます。 この投稿で紹介したソリューションは、データベース オブジェクトとデータの XNUMX 回限りの移行を実行します。 移行の進行中に BigQuery で行われたデータの変更は、Amazon Redshift には反映されません。 データ移行が進行中の場合は、ETL ジョブを BigQuery に保留にするか、移行後に Amazon Redshift を指定して ETL を再生します。 を使用することを検討してください AWS SCT のベストプラクティス.

BigQuery をソースとして使用する場合、AWS SCT にはいくつかの制限があります。 たとえば、AWS SCT は、分析関数、地理関数、統計集計関数などのサブクエリを変換できません。 制限事項の完全なリストについては、 AWS SCT ユーザーガイド. 今後のリリースでこれらの制限に対処する予定です。 これらの制限にもかかわらず、AWS SCT を使用して BigQuery コードとストレージ オブジェクトのほとんどを自動的に変換できます。

AWS SCT をダウンロードしてインストールするにサインインします。 AWS Console、Amazon Redshift Serverless をチェックアウトして、移行を開始してください!


著者について

セドリック フーディ AWS で AWS Database Migration Service (DMS) と AWS Schema Conversion Tool (SCT) を使用したデータベース移行に重点を置いたソリューション アーキテクトです。. 彼は、DB 移行関連の課題に取り組んでいます。 彼は、EdTech、エネルギー、および ISV ビジネス セクターの顧客と緊密に連携して、DMS サービスの真の可能性を実現できるよう支援しています。 彼は、DMS と SCT を使用して、何百ものデータベースを AWS クラウドに移行するのを支援してきました。

アミット・アロラ AWS でデータベースと分析を専門とするソリューション アーキテクトです。 彼は、金融テクノロジーとグローバルエネルギーのお客様、および AWS 認定パートナーと協力して、技術支援を提供し、クラウド移行プロジェクトに関するお客様のソリューションを設計し、お客様が既存のデータベースを AWS クラウドに移行して最新化するのを支援しています。

ジャガディシュクマール Amazon Redshift に特化した AWS の分析スペシャリスト ソリューション アーキテクトです。 彼はデータ アーキテクチャに深く情熱を傾けており、お客様が AWS で大規模な分析ソリューションを構築するのを支援しています。

アヌシャチャラ Amazon Redshift を専門とする AWS のシニア アナリティクス スペシャリスト ソリューション アーキテクトです。 彼女は、多くの顧客がクラウドおよびオンプレミスで大規模なデータ ウェアハウス ソリューションを構築するのを支援してきました。 Anusha は、データ分析とデータ サイエンスに情熱を傾けており、顧客が大規模なデータ プロジェクトで成功を収められるよう支援しています。

スポット画像

最新のインテリジェンス

スポット画像