SnowflakeSnowflake

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

Spark notebook 用のスノーフレークコネクタSnowflake Connector for Spark notebooks

次のノートブックでは、スノーフレークからデータを読み書きする方法の簡単な例を紹介しています。The following notebooks provide simple examples of how to write data to and read data from Snowflake. 詳細について は、「Spark コネクタの使用 」を参照してください。See Using the Spark Connector for more details. 詳細については、「 コネクタの構成オプションの設定 」を参照してください。In particular, see Setting Configuration Options for the Connector for all configuration options.

ヒント

ノートブックに示されている シークレットを使用して、スノーフレークユーザー名とパスワードをノートブックに公開しないようにします。Avoid exposing your Snowflake username and password in notebooks by using Secrets, which are demonstrated in the notebooks.

このセクションの内容:In this section:

スノーフレーク a notebookSnowflake Scala notebook

ノートブックを入手Get notebook

スノーフレーク Python notebookSnowflake Python notebook

ノートブックを入手Get notebook

スノーフレーク R notebookSnowflake R notebook

ノートブックを入手Get notebook

機械学習モデルをトレーニングし、結果をスノーフレークに保存するTrain a machine learning model and save results to Snowflake

次の notebook では、Spark 用のスノーフレークコネクタを使用するためのベストプラクティスについて説明します。The following notebook walks through best practices for using the Snowflake Connector for Spark. データをスノーフレークに書き込み、いくつかの基本的なデータ操作にスノーフレークを使用し、Azure Databricks で機械学習モデルをトレーニングし、その結果をスノーフレークに書き込みます。It writes data to Snowflake, uses Snowflake for some basic data manipulation, trains a machine learning model in Azure Databricks, and writes the results back to Snowflake.

ML のトレーニング結果をスノーフレーク notebook に保存するStore ML training results in 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 Snowflake Connector for Spark 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 とはスノーフレークでは意味が同じであるため、スノーフレークに書き込むときにデータをに変換することができ INTEGER DECIMAL ます (「 スノーフレーク数値データ型」を参照してください)。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.