スノーフレーク Snowflake

スノーフレークはクラウドベースの SQL data warehouse であり、優れたパフォーマンス、ゼロチューニング、データソースの多様性、およびセキュリティに重点を置いています。Snowflake is a cloud-based SQL data warehouse that focuses on great performance, zero-tuning, diversity of data sources, and security. このトピックでは、Azure Databricks スノーフレークコネクタを使用して、スノーフレークとの間でデータの読み取りと書き込みを行う方法について説明します。This topic explains how to read data from and write data to Snowflake using the Azure Databricks Snowflake connector.

Azure Databricks とスノーフレークは、Azure Databricks とスノーフレークの両方の顧客に対してファーストクラスのコネクタエクスペリエンスを実現するために提携しています。これにより、ライブラリをクラスターにインポートして読み込む必要がなくなり、バージョンの競合を防ぐことができます。構成.Azure Databricks and Snowflake have partnered to bring a first-class connector experience for customers of both Azure Databricks and Snowflake, saving you from having to import and load libraries into your clusters, and therefore preventing version conflicts and misconfiguration.

前提条件Requirements

注意

Azure Databricks スノーフレークコネクタはDatabricks Runtime 4.2以降で使用できます。The Azure Databricks Snowflake connector is available in Databricks Runtime 4.2 and above.

Azure Databricks のスノーフレークコネクタを使用するUse the Azure Databricks Snowflake connector

次のノートブックでは、スノーフレークからデータを読み書きする方法の簡単な例を紹介しています。The following notebooks provide simple examples of how to write data to and read data from Snowflake. 詳細については、「スノーフレークドキュメントでのコネクタの使用」を参照してください。See Using the Connector in the Snowflake documentation for more details.

ヒント

次のサンプルノートブックに示すように、シークレット機能を使用してノートブックにスノーフレークユーザー名とパスワードを公開しないようにしてください。Avoid exposing your Snowflake username and password in notebooks by using the Secrets feature, which is demonstrated in the sample notebooks below.

スノーフレーク a notebookSnowflake Scala notebook

ノートブックを取得するGet notebook

スノーフレーク Python notebookSnowflake Python notebook

ノートブックを取得するGet notebook

スノーフレーク R notebookSnowflake R notebook

ノートブックを取得するGet notebook

スノーフレークを使用した機械学習モデルのトレーニングTrain a machine learning model using Snowflake

デモスノーフレーク notebookDemo Snowflake notebook

ノートブックを取得するGet notebook

よく寄せられる質問 (FAQ)Frequently asked questions (FAQ)

スノーフレークのデータフレーム列が同じ順序で表示されないのはなぜですか。Why don’t my Spark DataFrame columns appear in the same order in Snowflake?

Spark スノーフレークコネクタでは、書き込まれるテーブル内の列の順序は考慮されません。データフレーム列とスノーフレーク列の間のマッピングを明示的に指定する必要があります。The Spark - Snowflake connector doesn’t respect the order of the columns in the table being written to; you must explicitly specify the mapping between DataFrame and Snowflake columns. このマッピングを指定するには、 columnmap パラメーターを使用します。To specify this mapping, use the columnmap parameter.

INTEGER、スノーフレークに書き込まれたデータは常に DECIMALとして読み取られるのはなぜですか。Why is INTEGER data written to Snowflake always read back as DECIMAL?

スノーフレークは、すべての INTEGER の種類を NUMBER として表します。これにより、スノーフレークからデータを読み書きするときにデータ型が変更される可能性があります。Snowflake represents all INTEGER types as NUMBER, which can cause a change in data type when you write data to and read data from Snowflake. たとえば、スノーフレークに書き込むときに、INTEGER データを DECIMAL に変換することができます。これは、INTEGERDECIMAL がスノーフレークと意味的に同等であるためです (「スノーフレーク Numeric Data Types」を参照してください)。For example, INTEGER data can be converted to DECIMAL when writing to Snowflake, because INTEGER and DECIMAL are semantically equivalent in Snowflake (see Snowflake Numeric Data Types).

スノーフレークテーブルスキーマのフィールドが常に大文字であるのはなぜですか。Why are the fields in my Snowflake table schema always uppercase?

スノーフレークは、既定では大文字のフィールドを使用します。これは、テーブルスキーマが大文字に変換されることを意味します。Snowflake uses uppercase fields by default, which means that the table schema is converted to uppercase.