ステップ3。データファイルをステージングする¶
Snowflakeステージは、テーブルからデータをロードおよびアンロードするために使用するクラウドストレージ内の場所です。ステージを使用すると、データをテーブルにロードしたり、テーブルからデータをアンロードしたりできます。Snowflakeは次をサポートしています。
内部ステージ --- Snowflake内にデータファイルを内部的に保存します。Snowflakeの各ユーザーとテーブルは、データファイルをステージングするためにデフォルトで内部ステージを取得します。
外部ステージ --- Amazon S3、Google Cloud Storage、またはMicrosoft Azureで外部データファイルを保存するために使用されます。データがこれらのクラウドストレージサービスにすでに保存されている場合は、外部ステージを使用してSnowflakeテーブルにデータをロードできます。
このチュートリアルでは、サンプルデータファイル(前提条件 でダウンロード)を、前に作成した emp_basic
テーブルの内部ステージにアップロードします。 PUT コマンドを使用して、そのステージにサンプルデータファイルをアップロードします。
このトピックの内容:
サンプルデータファイルのステージング¶
SnowSQL で PUT を実行して、作成した emp_basic
テーブルに提供されたテーブルステージに、ローカルデータファイルをアップロードします。
put file://<file-path>[/\]employees0*.csv @sf_tuts.public.%emp_basic;
例:
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://<ファイルパス >[/\]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 | | +-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
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 | +--------------------+------+----------------------------------+------------------------------+