ステップ3。データファイルをステージングする

Snowflakeステージは、テーブルからデータをロードおよびアンロードするために使用するクラウドストレージ内の場所です。ステージを使用すると、データをテーブルにロードしたり、テーブルからデータをアンロードしたりできます。Snowflakeは次をサポートしています。

  • 内部ステージ --- Snowflake内にデータファイルを内部的に保存します。Snowflakeの各ユーザーとテーブルは、データファイルをステージングするためにデフォルトで内部ステージを取得します。

  • 外部ステージ --- Amazon S3、Google Cloud Storage、またはMicrosoft Azureで外部データファイルを保存するために使用されます。データがこれらのクラウドストレージサービスにすでに保存されている場合は、外部ステージを使用してSnowflakeテーブルにデータをロードできます。

このチュートリアルでは、サンプルデータファイル(前提条件 でダウンロード)を、前に作成した emp_basic テーブルの内部ステージにアップロードします。 PUT コマンドを使用して、そのステージにサンプルデータファイルをアップロードします。

このトピックの内容:

サンプルデータファイルのステージング

SnowSQLPUT を実行して、作成した emp_basic テーブルに提供されたテーブルステージに、ローカルデータファイルをアップロードします。

put file://<file-path>[/\]employees0*.csv @sf_tuts.public.%emp_basic;
Copy

例:

  • Linuxまたは macOS

    PUT file:///tmp/employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy
  • Windows

    PUT file://C:\temp\employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy

コマンドを詳しく見てみましょう。

  • file://<ファイルパス >[/\]employees0*.csv は、ステージするローカルマシン上のファイルの完全なディレクトリパスとファイル名を指定します。ファイルシステムのワイルドカードが許可されています

  • @<名前空間>.%<テーブル名> は、指定したテーブルにステージを使用することを表しており、この場合は、 emp_basic テーブルです。

このコマンドは、ステージングされたファイルを示す次の結果を返します。

+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
| source          | target             | source_size | target_size | source_compression | target_compression | status   | message |
|-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------|
| employees01.csv | employees01.csv.gz |         360 |         287 | NONE               | GZIP               | UPLOADED |         |
| employees02.csv | employees02.csv.gz |         355 |         274 | NONE               | GZIP               | UPLOADED |         |
| employees03.csv | employees03.csv.gz |         397 |         295 | NONE               | GZIP               | UPLOADED |         |
| employees04.csv | employees04.csv.gz |         366 |         288 | NONE               | GZIP               | UPLOADED |         |
| employees05.csv | employees05.csv.gz |         394 |         299 | NONE               | GZIP               | UPLOADED |         |
+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
Copy

TARGET_COMPRESSION 列に示されているように、 PUT コマンドはデフォルトで gzip を使用してファイルを圧縮します。

ステージングされたファイルのリスト(オプション)

LIST コマンドを使用して、ステージングされたファイルをリストできます。

LIST @sf_tuts.public.%emp_basic;
Copy

以下は結果の例です。

+--------------------+------+----------------------------------+------------------------------+
| name               | size | md5                              | last_modified                |
|--------------------+------+----------------------------------+------------------------------|
| employees01.csv.gz |  288 | a851f2cc56138b0cd16cb603a97e74b1 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees02.csv.gz |  288 | 125f5645ea500b0fde0cdd5f54029db9 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees03.csv.gz |  304 | eafee33d3e62f079a054260503ddb921 | Tue, 9 Jan 2018 15:31:45 GMT |
| employees04.csv.gz |  304 | 9984ab077684fbcec93ae37479fa2f4d | Tue, 9 Jan 2018 15:31:44 GMT |
| employees05.csv.gz |  304 | 8ad4dc63a095332e158786cb6e8532d0 | Tue, 9 Jan 2018 15:31:44 GMT |
+--------------------+------+----------------------------------+------------------------------+
Copy

次: ステップ4。データをターゲットテーブルにコピーする