アプリケーションと拡張機能の開発¶
Snowflakeを拡張し、クライアントとして機能する、または統合コンポーネントとして機能するアプリケーションを作成できます。
Snowpark API を使用したデータのクエリと処理¶
Java、Python、またはScalaでSnowpark APIs を使用すると、アプリケーションコードが実行されるシステムにデータを移動することなく、Snowflakeでデータを処理するアプリケーションをビルドできます。
Snowparkにより次を実行できます。
Java、Python、またはScalaとして定義されたアプリ、パイプライン、および処理ロジックを作成する。
サポートされている言語でネイティブに統合されたライブラリを使用して、データステートメントをビルドする。
データを処理するときに、Snowflakeとの間でデータを転送するオーバーヘッドを削減する。
Java、Python、または Scalaを記述して、ユーザー定義関数を作成する。Snowflakeは必要な SQL コードをバックグラウンドで生成します。
Snowparkの概要 については、 Snowpark API をご参照ください。
開発者ガイド¶
ガイド |
説明 |
---|---|
JavaでSnowparkコードを記述するためのガイドとリファレンス。 |
|
PythonでSnowparkコードを記述するためのガイドとリファレンス。 |
|
ScalaでSnowparkコードを記述するためのガイドとリファレンス。 |
|
イベントテーブルに格納されたログメッセージを記録するコードを記述するためのガイド。 |
|
イベントテーブルに格納されたトレースデータを記録するコードを記述するためのガイド。 |
クイックスタート¶
次のクイックスタートチュートリアルを使用して、Snowparkの実践的な概要を知ることができます。
Snowpark ML¶
Snowpark ML は、前処理、モデリング、モデル管理、データインジェスチョンを含む、Snowflakeにおける機械学習とデータサイエンスのためのPythonライブラリです。Snowpark Pythonと連携し、トレーニングデータとテストデータにSnowpark DataFrames を使用できます。
プロシージャ、ユーザー定義関数、および外部関数によるSnowflakeの拡張¶
プロシージャ、ユーザー定義関数、および外部関数の記述により、Snowflakeを強化および拡張できます。
プロシージャを使用すると、コードまたは SQL ステートメントを実行して、スケジュールされた操作またはオンデマンド操作を実行できます。サポートされているプログラミング言語のいずれかでロジックを記述します。
ユーザー定義関数(UDF)を使用すると、ロジックを実行し、データを計算して返すことができます。UDFs は、バッチ処理とカスタムロジックの SQL への統合に役立ちます。サポートされているプログラミング言語のいずれかでロジックを記述します。
外部関数を使用すると、SnowflakeとSnowflakeの外部で実行されるカスタムコードとの統合を設定し、ユーザー定義関数と同じようにカスタムコードを使用できます。
これら2つのオプションの選択に関する詳細については、 ストアドプロシージャとユーザー定義関数のどちらを記述するかの選択 をご参照ください。
開発者ガイド¶
ガイド |
説明 |
---|---|
ストアドプロシージャの記述ガイド、サポートされている言語でハンドラーを記述する方法。 |
|
サポートされている言語でハンドラーを記述する方法を含む、 UDFs を記述するためのガイド。 |
|
セキュリティ、規則などに関する一般的なガイドライン。 |
|
ステージ上で保持するハンドラーコードのビルドに関する情報。 |
|
他のシステムでコードを呼び出すことができる外部関数を記述するためのガイド。 |
|
イベントテーブルに格納されたログメッセージを記録するコードを記述するためのガイド。 |
|
イベントテーブルに格納されたトレースデータを記録するコードを記述するためのガイド。 |
ドライバーおよび APIs を使用したクライアントアプリをビルドする¶
Snowflake操作をクライアントアプリに統合できます。Snowpark API に加えて、言語およびプラットフォーム固有のドライバーも使用できます。
ドライバー¶
ドライバーを使用すると、コードまたはアプリからSnowflakeに接続できます。C#、Go、Pythonなどの言語を使用して、Snowflakeで操作を実行するアプリケーションを記述できます。Snowflakeへのアクセスに使用できる各ドライバーの具体的な情報については、次のセクションをご参照ください。
RESTful API¶
Snowflake RESTful SQL API を使用すると、 HTTPS と REST を介してデータにアクセスし、データを更新することができます。たとえば、 SQL ステートメントの送信、ストアドプロシージャの作成と実行、ユーザーのプロビジョニングなどを実行できます。
SQL REST API で、 POST
リクエストの本文で実行する SQL ステートメントを送信します。次に、実行ステータスを確認し、 GET
リクエストで結果をフェッチします。
SQL REST API 開発者ガイドについては、 Snowflake SQL REST API をご参照ください。
他のシステムと統合する¶
Snowflakeには、Snowflakeの外部にあるシステムと統合するための APIs を含むコネクタが含まれています。詳細については、以下の開発者ガイドをご参照ください。
開発者ガイド¶
コネクタ |
説明 |
---|---|
Apache Kafka は、イベントストリーミングプラットフォームです。このコネクタは、インジェスチョンのためにイベントをKafkaからSnowflakeに送信できます。 |
|
Apache Sparkは、大規模なデータ処理用の分析エンジンです。SparkコネクタをSparkワークロードに統合して、Snowflakeでより多くのデータ処理を直接実行し、データ転送を削減してパフォーマンスを大幅に向上させることができます。 |
Snowflake を他の多くのシステムと統合して、データの交換、機械学習による分析の実行、セキュリティの強化なども実行できます。これらのシステムとSnowflakeの統合の詳細については、 Snowflakeエコシステム をご参照ください。
サポートされている言語¶
Snowflakeは、アプリと拡張機能をビルドするために複数の言語をサポートしています。次のテーブルに、Snowflakeでの開発でサポートされている言語と、それぞれでビルドできることを示します。
言語 |
Snowflake機能 |
---|---|
Java |
できること:
|
JavaScript |
できること:
|
PHP |
できること:
|
Python |
できること:
|
Scala |
できること:
|
Snowflakeスクリプト |
できること:
|
SQL |
できること:
|