Amazon S3 データを Snowflake にインポートする方法

Amazon S3 データを Snowflake にインポートする方法

  • オーケストレーション
6分で読めます 更新日 Sep 14, 2020

ポイント: Amazon S3 から Snowflake へのデータインポートには、ウェアハウス、外部ステージ、データベースの作成、データアップロード、SQL 実行が含まれます。BMC の Control-M プラットフォームはこの統合をサポートしています。

  • 効率的なデータ読み込みのために Snowflake の COPY コマンドを利用します。
  • 外部ステージはデータ管理を強化し、アクセスを簡素化します。

この記事では、Amazon S3 から Snowflake に JSON データを読み込む方法を示します。

Snowflake と JSON ファイル

Snowflake は AWS 上のデータウェアハウスです。Snowflake の COPY コマンドは、JSON、XML、CSV、Avro、Parquet、および XML 形式のデータファイルをコピーできます。しかし、Snowflake が JSON ファイルをサポートしていると言うのは少し誤解を招く表現です。これらのデータファイルを解析しないため、Amazon Redshift の例で示したように、実際にはデータをすべて Snowflake の variant 型のカラムにコピーします。その後、それに対して JSON SQL クエリを実行します。ここからダウンロードできる 2 つのデータファイルを読み込みます:

注意: これは NDJSON 形式です。つまり、全体のファイルは有効な JSON ファイルではありません。個々の JSON レコードで構成されています。

データベースおよびウェアハウスの作成

私たちは Amazon AWS 上で Snowflake クラスターを運用しています。(Amazon AWS コンソールのサービスとしてはリストされていません。代わりに、Snowflake サイトでサインアップし、Amazon、Microsoft、または Google クラウド上でインスタンスを起動します。) このようにしてウェアハウスを作成します。ここでは、マシンサイトとサーバーの数を選択し、計算能力とコストを選択します。

外部ステージの作成

Amazon S3 から直接データをコピーできますが、Snowflake は 外部ステージ エリアを使用することを推奨しています。その理由は示されていません。しかし、こうすることで、資格情報を保存し、コピー構文を簡素化し、ワイルドカードパターンを使用してファイルを選択してコピーできます。

名前を付けて S3 バケットを指定します。

データベースの作成

他のデータベースと同様に、データベース はテーブルのコレクションです。したがって、この単純な例では単なる名前です。Snowflake コンソールからこのようにして作成します:

テーブルの作成

次に、ワークシートエディタを開き、以下の SQL を貼り付けて 顧客 と 注文 テーブルを作成します。どちらも variant 型のカラムが 1 つあることに注意してください。

    use database inventory;

create table customers (customer variant);

create table orders(orders variant);

JSON データを S3 にアップロード

Amazon S3 コンソールまたは AWS CLI コマンドラインを使用してデータを S3 にコピーします:

    aws s3 cp customers.json s3:/(bucket name)
 
aws s3 cp orders.json s3://(bucket name)

JSON データを Snowflake にバルクロード

顧客と注文データを Snowflake にこのようにコピーします。その S3 バケットには両方のファイルが含まれているため、PATTERN を使用して名前を指定します。これには任意の正規表現を使用できます。

    copy into customers
  from @GLUEBMCWALKERROWE
  FILE_FORMAT=(TYPE= 'JSON')
  PATTERN= 'customers.json';

1 つの厄介な機能は、すべてのクエリ チェックボックスを選択しないと、実行 ボタンが有効にならないことです:

SQL を実行する際、ワークシートはこのように表示されます。

その後、ファイル をクリックして、読み込まれたデータを確認します。

BMC、Control-M が Snowflake をサポート

BMC は Snowflake テクノロジーアライアンスパートナープログラムのメンバーです。Snowflake のクラウドデータプラットフォームは、Snowflake の市場をリードするクラウドデータウェアハウスと Control-M を使用して、データ駆動型企業を加速するのに役立ちます。

追加リソース

このようなチュートリアルについては、これらのリソースを探ってください:

play

これらの投稿は私自身の意見であり、必ずしも BMC の立場、戦略、または意見を表すものではありません。

オーケストレーションの関連記事

BMCからのさらなる情報に興味がありますか?

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーションに関する月刊メールです:研究、顧客ストーリー、製品ニュース、イベント。

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ザ・ブリーフに登録しました

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーション—BMC AMIおよびControl-M—に関するアナリストの研究、顧客の展開、両者にわたるイベントを網羅しています。