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

Snowflakeは、内部(Snowflake)ステージまたは外部(Amazon S3、Google Cloud Storage、またはMicrosoft Azure)ステージでステージングされたファイルからのデータのロードをサポートしています。これらのクラウドストレージサービスにデータファイルを既に保存している場合、外部ステージからのロードは便利です。

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

このトピックの内容:

ファイルのステージング

PUT を実行して、作成した emp_basic テーブルに提供されたテーブルステージにローカルデータファイルをアップロードします。ローカル環境のファイルを参照するため、コマンドは OS 固有です。

  • Linuxまたは macOS

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

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

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

  • file: ステージングするローカルマシン上のファイルの完全なディレクトリパスとファイル名を指定します。ファイルシステムのワイルドカードが許可されています

  • @<名前空間>.%<テーブル名> は、指定したテーブルにステージを使用することを表しており、この場合は、 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 |         |
+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+

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

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

LIST コマンドを実行すると、正常にステージングされたファイルのリストを表示できます。

LIST @sf_tuts.public.%emp_basic;

+--------------------+------+----------------------------------+------------------------------+
| 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 |
+--------------------+------+----------------------------------+------------------------------+

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