3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBMが提供する製品に関する情報やナレッジを共有するAdvent Calendar 2024

Day 12

Datastageで、Snowflakeの超巨大データを処理してみた

Last updated at Posted at 2024-12-11

この記事について

実施概要

  • 対象データベースはSnowflake(Azure/東京)の「SNOWFLAKE_SAMPLE_DATA」を使用します
  • 「SF10」「SF100」各スキーマから、「REGION」「NATION」「CUSTOMER」「ORDERS」テーブルを引っこ抜いてJOINしてフィルタリングするフローをDatastageに実行させます
  • どの程度のデータ量で、どの程度の処理時間がかかるのかを測ってみます
  • Datastage は、IBMCloudの東京リージョン上のOpenshiftに建てたCloud Pak for Data v5.0.3 上のコンテナソフトウェアを使用しています

スキーマ「SF10」の場合

処理対象

  • スキーマ「SF10」

    • 「REGION」:5行、4.0KB
    • 「NATION」:25行、4.0KB
    • 「CUSTOMER」:1.5M(150万)行、103.2MB
    • 「ORDERS」:15M(1500万)行、425.8MB
  • 最もレコード件数が多いテーブルが「ORDERS」

    • 件数:1千500万行
    • データサイズ:425.8MB
      スクリーンショット 2024-12-12 15.36.30.png

Snowflake側の設定

  • Computeはデフォルトの「COMPUTE-WH」(X-Smallサイズ)を使用
    スクリーンショット 2024-12-12 10.02.44.png

Datastage側の設定

  • ランタイムは、デフォルト(Small)設定

Snowflake の結果

  • 最大で8秒足らずという感じでした
    スクリーンショット 2024-12-12 15.37.13.png

  • ORDERSテーブルの場合のSQLはこちら
    スクリーンショット 2024-12-12 15.38.45.png

Datastage の結果

フロー

スクリーンショット 2024-12-12 15.39.24.png

ジョブ(時間)

スクリーンショット 2024-12-12 15.40.10.png

  • 最大1千500万行のデータを含めて、3分足らずで処理終了しました

スキーマ「SF100」の場合

処理対象

  • スキーマ「SF100」

    • 「REGION」:5行、4.0KB
    • 「NATION」:25行、4.0KB
    • 「CUSTOMER」:15M(1500万)行、1.0GB
    • 「ORDERS」:150M(1億5千万)行、4.3GB
  • 最もレコード件数が多いテーブルが「ORDERS」

    • 件数:1億5千万行
    • データサイズ:4.3GB
      image.png

Snowflake側の設定

  • Computeはデフォルトの「COMPUTE-WH」(X-Smallサイズ)を使用
    スクリーンショット 2024-12-12 10.02.44.png

Datastage側の設定

  • ランタイムは、デフォルト(Small)設定
    スクリーンショット 2024-12-12 15.01.58.png

Snowflake の結果

  • 各テーブル、1秒もかからずという感じでした

    • (この前にも数回試していたため、キャッシュが効いて早かったのかもしれません)
      スクリーンショット 2024-12-12 15.13.34.png
  • ORDERSテーブルの場合のSQLはこちら
    スクリーンショット 2024-12-12 15.13.55.png

Datastage の結果

フロー

スクリーンショット 2024-12-12 15.01.20.png

ジョブ(時間)

スクリーンショット 2024-12-12 15.04.38.png

  • 最大1億5千万行のデータを含めて、約25分程度で処理終了しました

スキーマ「SF1000」の場合

処理対象

  • スキーマ「SF10」

    • 「REGION」:5行、4.0KB
    • 「NATION」:25行、4.0KB
    • 「CUSTOMER」:150M(1億5千万)行、10.1GB
    • 「ORDERS」:1.5B(15億)行、48.6GB
  • 最もレコード件数が多いテーブルが「ORDERS」

    • 件数:1.5B(15億)行
    • データサイズ:48.6GB
      スクリーンショット 2024-12-12 15.45.19.png

以下、実験中。。。結果はお待ち下さい!

Snowflake側の設定

Datastage側の設定

Snowflake の結果

Datastage の結果

フロー

ジョブ(時間)

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?