SnowConvert AI - BigQuery - CREATE TABLE¶
文法構文¶
サンプルソースパターン¶
DEFAULT に COLLATE¶
BigQuery¶
Snowflake¶
ラベルテーブルオプション¶
BigQuery¶
Snowflake¶
説明テーブルオプション¶
BigQuery¶
Snowflake¶
説明テーブルオプション¶
BigQuery¶
Snowflake¶
既知の問題¶
1.サポートされていないテーブルオプション
Snowflakeではすべてのテーブルオプションがサポートされているわけではありません。OPTIONS 句でサポートされていないテーブルオプションが検出されると、これについて警告する EWI が生成されます。
BigQuery¶
Snowflake¶
2.マイクロパーティショニングはSnowflakeによって自動的に管理されます
Snowflakeはデータの自動パーティショニングを実行します。ユーザー定義のパーティショニングはサポートされていません。
BigQuery¶
Snowflake¶
COLUMN DEFINITION¶
文法構文¶
サンプルソースパターン¶
説明オプション¶
BigQuery¶
Snowflake¶
COLLATE¶
BigQuery¶
Snowflake¶
既知の問題¶
1.丸めモードはサポートされていません
Snowflakeでは、列のデフォルトの丸めモードの指定はサポートしていません。
BigQuery¶
Snowflake¶
関連 EWIs¶
[SSC-EWI-BQ0001](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/bigqueryEWI.md#ssc-ewi-bq0001):Snowflakeはオプション句をサポートしていません。
CREATE EXTERNAL TABLE¶
説明¶
外部テーブルを使用すると、BigQuery は BigQuery ストレージの外部に保存されているデータをクエリできます。([BigQuery SQL 言語リファレンス CREATE EXTERNAL TABLE](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_external_table_statement))
構文
BigQuery の CREATE EXTERNAL TABLE ステートメントは[Snowflake](https://docs.snowflake.com/en/sql-reference/sql/create-external-table)の CREATE EXTERNAL TABLE ステートメントに変換されますが、この変換にはユーザーの介入が必要です。
To complete the transformation performed by SnowConvert AI, it is necessary to define a Storage Integration, a External Stage and (optional) Notification Integration that have access to the external source were files are located. Please refer to the following guides on how to set up the connection for each provider:
[Amazon S3を参照する外部テーブルの場合](https://docs.snowflake.com/ja/user-guide/tables-external-s3)
[Google Cloud Storageを参照する外部テーブルの場合](https://docs.snowflake.com/ja/user-guide/tables-external-gcs)
[Azure Blob Storageを参照する外部テーブルの場合](https://docs.snowflake.com/ja/user-guide/tables-external-azure)
このページで紹介されている変換に関する重要な考慮事項:
@EXTERNAL_STAGE プレースホルダーは、前のガイドに従って作成された外部ステージに置き換える必要があります。
外部ステージはバケットのルートを指すものと想定されています。各テーブルに対して生成される PATTERN 句は、バケットの基点から始まるファイル/フォルダーのパスを指定しているため、バケット内の別の場所を指す外部ステージを定義すると、望ましくない動作が発生する可能性があるため、この点を考慮することが重要です。
AUTO_REFRESH = FALSE句はエラーを回避するために生成されます。外部テーブルメタデータの自動更新は、Snowflakeアカウントのクラウドプロバイダーとバケットプロバイダーが同じで、通知統合が作成された場合にのみ有効であることに注意してください。
サンプルソースパターン¶
明示的な列リストがある CREATE EXTERNAL TABLE¶
When the column list is provided, SnowConvert AI will automatically generate the AS expression column options for each column to extract the file values.
BigQuery¶
Snowflake¶
明示的な列リストがない CREATE EXTERNAL TABLE¶
列リストが提供されない場合、 BigQuery は自動的にファイル構造からカラムのスキーマを検出します。この動作を再現するために、 SnowConvert AI は[INFER_SCHEMA](https://docs.snowflake.com/en/sql-reference/functions/infer_schema)関数を使用して列定義を生成する USING TEMPLATE 句を生成します。
INFERSCHEMA 関数を動作させるにはファイル形式が必要なため、 SnowConvert AI はこの目的のために一時ファイル形式を生成します。このファイル形式は CREATE EXTERNAL TABLE ステートメントを実行するときにのみ必要であり、セッションが終了すると自動的に削除されます。
BigQuery¶
Snowflake¶
複数の URIs を含む CREATE EXTERNAL TABLE¶
複数のソース URIs が指定されている場合、それらはSnowflakeの PATTERN 句の正規表現に結合されます。使用されるワイルドカード * 文字はSnowflakeではそれに相当する .* に変換されます。
BigQuery¶
Snowflake¶
WITH CONNECTION 句¶
接続情報はすでにストレージ統合を使用してSnowflakeに提供されているため、WITH CONNECTION 句は削除されます。
BigQuery¶
Snowflake¶
対応テーブルオプション¶
以下の外部テーブルオプションは、Snowflakeでサポートされており、 SnowConvert AI によって変換されます。
FORMAT
ENCODING
SKIP_LEADING_ROWS
FIELD_DELIMITER
COMPRESSION
BigQuery¶
Snowflake¶
既知の問題¶
1. 明示的な列リストと CSV ファイル形式のない CREATE EXTERNAL TABLE
Currently, Snowflake external tables do not support parsing the header of CSV files. When an external table with no explicit column list and CSV file format is found, SnowConvert AI will produce the SKIP_HEADER file format option to avoid runtime errors, however, this will cause the table column names to have the autogenerated names c1, c2, ..., cN.
FDM が生成され、ヘッダーが解析できないこと、そして名前を保持するために列の名前を手動で変更する必要があることを通知します。
BigQuery¶
Snowflake¶
2.グーグルドライブのソースを参照する外部テーブル
SnowflakeはGoogle Driveにホストされているファイルからのデータ読み込みをサポートしていません。このことを通知し、ファイルをバケットにアップロードして外部ステージ経由でアクセスするように要求する FDM が生成されます。
PATTERN 句には、自動生成されたプレースホルダー FILE_PATH0、FILE_PATH1、...、FILE_PATHN が格納されます。このプレースホルダーは、ファイルが外部の場所に移動された後にファイル/フォルダーのパスに置き換えられます。
BigQuery¶
Snowflake¶
3.GOOGLE_SHEETS ファイル形式の外部テーブル
Snowflakeはファイル形式としてGoogle Sheetsをサポートしていませんが、その構造はSnowflakeがサポートしている CSV ファイルに似ています。
When SnowConvert AI detects an external table using the GOOGLE_SHEETS format, it will produce an external table with the CSV file format instead.
GoogleシートはGoogleドライブに保存されているので、前号で説明したように、ファイルを CSV として外部の場所にアップロードし、 PATTERN 句でファイルパスを指定する必要があります。
BigQuery¶
Snowflake¶
4.サポートされていないファイル形式の外部テーブル
Snowflakeは、次の BigQuery 形式をサポートしています。
BigQuery |
Snowflake |
|---|---|
AVRO |
AVRO |
CSV |
CSV |
NEWLINE_DELIMITED_JSON |
JSON |
ORC |
ORC |
PARQUET |
PARQUET |
その他のフォーマットはサポート外と表示されます。
BigQuery¶
Snowflake¶
5.Hiveでパーティション化された外部テーブル
SnowflakeはHiveでパーティション化された外部テーブルをサポートしていないため、 WITH PARTITION COLUMNS 句はサポート外としてマークされます。
BigQuery¶
Snowflake¶
6.列リストのない外部テーブルで、 INFER_SCHEMA 関数に有効なファイル URI がありません
INFER_SCHEMA 関数には、テーブル列の構築に使用するファイルまたはフォルダへのパスを指定する LOCATION パラメータが必要ですが、このパスは正規表現をサポートしていないため、ワイルドカード * 文字はサポートされていません。
When the table has no columns, SnowConvert AI will check all URIS to find one that does not use wildcards and use it in the INFER_SCHEMA function, when no URI meets such criteria an FDM and FILE_PATH placeholder will be generated, the placeholder has to be replaced with the path of one of the files referenced by the external table to generate the table columns.
BigQuery¶
Snowflake¶
7.サポートされていないテーブルオプション
[サポートされているテーブルオプション](bigquery-create-table.md#supported-table-options)パターンに記載されていないその他のテーブルオプションは、サポート外としてマークされます。
BigQuery¶
Snowflake¶
関連 EWIs¶
[SSC-EWI-BQ0013](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/bigqueryEWI.md#ssc-ewi-bq0013):snowflakeでサポートされていない外部テーブルデータ形式
[SSC-EWI-BQ0014](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/bigqueryEWI.md#ssc-ewi-bq0014):Hiveパーティション外部テーブルは、Snowflakeではサポートされていません。
SSC-EWI-BQ0015: External table requires an external stage to access an external location, define and replace the EXTERNAL_STAGE placeholder
[SSC-FDM-BQ0004](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/bigqueryFDM.md#ssc-fdm-bq0004):INFER_SCHEMA 関数では、表テンプレートを生成するためにワイルドカードを含まないファイルパスが必要です。 FILE_PATH プレースホルダーをそれに置き換えてください。
[SSC-FDM-BQ0005](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/bigqueryFDM.md#ssc-fdm-bq0005):外部テーブルでは CSV ヘッダーの解析はサポートされていないため、列の名前を元の名前と一致するように変更する必要があります
[SSC-FDM-BQ0006](../../general/technical-documentation/issues-and-troubleshooting/functional-difference/bigqueryFDM.md#ssc-fdm-bq0006):Googleドライブからの読み込みはSnowflakeではサポートされていません。ファイルを外部の場所にアップロードし、 FILE_PATH プレースホルダーを置き換えてください。
SSC-FDM-BQ0007: The GOOGLE_SHEETS format is not supported in Snowflake. CSV file type is used as a workaround.
CREATE TABLE CLONE¶
文法構文¶
サンプルソースパターン¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
::{note} CREATE TABLE CLONE ステートメントの LABELS オプションは TAGs に変換されません。これは、ソーステーブルの TAGs がコピーされるためであり、テーブルのコピー中に変更することはできません。他のテーブルオプションの変換は、[CREATE TABLE](./bigquery-create-table.md#labels-table-option)ステートメントに指定されているものと同じです。
CREATE TABLE COPY
Grammar syntax
Sample Source Patterns
一般的なケース
Snowflakeの CREATE TABLE CLONE は機能的に CREATE TABLE COPY と同等です。
入力コード
BigQuery
Snowflake
注釈
CREATE TABLE COPY ステートメントの LABELS オプションは、ソーステーブルの TAGs がコピーされるため、テーブルのコピー中に変更できず、TAGs に変換されません。その他のテーブルオプションの変換は、[CREATE TABLE](bigquery-create-table.md#labels-table-option)ステートメントで指定されているものと同じです。
CREATE TABLE LIKE¶
文法構文¶
Success
CREATE TABLE LIKE は Snowflakeによって完全にサポートされています。
注釈
CREATE TABLE LIKE ステートメントの LABELS オプションは、ソーステーブルの TAGs がコピーされるため、テーブルのコピー中に変更できず、TAGs に変換されません。その他のテーブルオプションの変換は、[CREATE TABLE](bigquery-create-table.md#labels-table-option)ステートメントで指定されているものと同じです。
CREATE TABLE SNAPSHOT¶
文法構文¶
サンプルソースパターン¶
一般的なケース¶
SnowflakeではSnapshotキーワードが削除され、テーブルは CREATE TABLE CLONE に変換されます。
スナップショットとクローンの2つの違いは、スナップショットは編集できず、通常は有効期限があることです。有効期限はサポートされていません。これは、[CREATE TABLE](bigquery-create-table.md#labels-table-option)ステートメントのサポートされていないオプションで指定されているとおりに処理されます。
BigQuery¶
Snowflake¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
注釈
CREATE TABLE COPY ステートメントの LABELS オプションは、ソーステーブルの TAGs がコピーされるため、テーブルのコピー中に変更できず、 TAGs に変換されません。
その他のテーブルオプションの変換は、[CREATE TABLE](bigquery-create-table.md#labels-table-option)ステートメントで指定されているものと同じです。