SnowConvert AI - Hive - CREATE EXTERNAL TABLE¶
Applies to
Hive SQL
Spark SQL
Databricks SQL
説明¶
外部テーブルは、データソースを使用して新しいテーブルを定義します。(Spark SQL 言語リファレンス CREATE DATASOURCE TABLE)
Spark/Databricksの CREATE EXTERNAL TABLE ステートメントは Snowflake の CREATE EXTERNAL TABLE ステートメントに変換されますが、この変換にはユーザーの介入が必要です。
To complete the transformation performed by SnowConvert AI, it is necessary to define a Storage Integration, an External Stage, and (optionally) a Notification Integration that have access to the external source where files are located. Please refer to the following guides on how to set up the connection for each provider:
このページで紹介されている変換に関する重要な考慮事項:
@EXTERNAL_STAGE プレースホルダーは、前のガイドに従って作成された外部ステージに置き換える必要があります。
外部ステージはバケットのルートを指すものと想定されています。各テーブルに対して生成される PATTERN 句は、バケットの基点から始まるファイル/フォルダーのパスを指定しており、バケット内の別の場所を指す外部ステージを定義すると、望ましくない動作が発生する可能性があるため、この点を考慮することが重要です。
エラーを避けるため、
AUTO_REFRESH = FALSE句が生成されます。外部テーブルメタデータの自動更新は、Snowflakeアカウントのクラウドプロバイダーとバケットプロバイダーが同じで、通知統合が作成された場合にのみ有効であることに注意してください。
サンプルソースパターン¶
明示的な列リストを持つ外部テーブルの作成¶
When the column list is provided, SnowConvert AI will automatically generate the AS expression column options for each column to extract the file values.
入力コード:¶
出力コード:¶
明示的な列リストがない CREATE EXTERNAL TABLE ¶
When the column list is not provided, Spark automatically detects the schema of the columns from the file structure. To replicate this behavior, SnowConvert AI will generate a USING TEMPLATE clause that makes use of the INFER_SCHEMA function to generate the column definitions.
INFER_SCHEMA 関数が動作するにはファイル形式が必要なため、 SnowConvert AI はこの目的のために一時的なファイル形式を生成します。このファイル形式は、 CREATE EXTERNAL TABLE ステートメントを実行するときにのみ必要で、セッションが終了すると自動的に削除されます。
入力コード:¶
出力コード:¶
Hive形式を使用した CREATE EXTERNAL TABLE¶
Hive形式 を使用した外部テーブルの作成もサポートされています。これらのテーブルへの挿入はサポートされていないことをユーザーに知らせる FDM が追加されます。
入力コード:¶
出力コード:¶
既知の問題¶
1.サポートされていないファイル形式の外部テーブル
Snowflakeは次のSpark形式をサポートしています。
CSV
PARQUET
ORC
XML
JSON
AVRO
その他の形式はサポート対象外と表示されます。
2.サポートされていないテーブルオプション
いくつかのテーブルオプションは SnowConvert AI ではサポートされておらず、 EWI でマークされています。