2022年の Snowflake Connector for Spark リリースノート¶
この記事には、 Snowflake Connector for Spark のリリースノートが含まれています。また、該当する場合は以下が含まれます。
動作の変更
新機能
顧客向けバグ修正
Snowflake は、 Snowflake Connector for Spark の更新にセマンティックバージョニングを使用します。
ドキュメントについては、 Spark用Snowflakeコネクター をご参照ください。
バージョン2.11.1(2022年12月13日)¶
新機能¶
セッションレベルで VPCE DNS 名を指定するためにS3_STAGE_VPCE_DNS_NAME 構成パラメーターを追加して、 AWS VPCE 展開に対するサポートを追加しました。
クエリが
Decimal(<any_precision >, 0)
を返す場合に、SparkコネクタがBigDecimal
値の代わりにLong値を返すようにするための新しい構成オプション、treat_decimal_as_longを追加しました。WARNING: 値がLong
の最大値より大きい場合は、エラーが発生します。AWS 展開でプロキシプロトコル(httpまたはhttps)を指定するための新しいオプション、proxy_protocolを追加しました。(このオプションは、Azureおよび GCP 展開には影響しません。)
行数がIntegerの最大値より大きいテーブルの行数をカウントするためのサポートを追加しました。
Snowflake JDBC ドライバー3.13.24を使用するようにコネクタを更新しました。
バグ修正¶
接続リークを防ぐため、 JDBC 接続を閉じるようにコネクタを更新しました。
テレメトリメッセージ送信時の
NullPointerException
の問題を修正しました。
バージョン2.11.0(2022年9月2日)¶
互換性のある JDBC ドライバーバージョン: 3.13.22
Spark 3.3のサポートを追加し、いくつかのバグを修正しました。
セキュリティの脆弱性 CVE-2022-31197 を回避するために、テストが依存する PostgreSQL JDBC ドライバーのバージョンをアップグレードしました。
Snowflake JDBC ドライバー3.13.22およびSnowflake Ingest SDK 0.10.8を使用するようにコネクタを更新しました。
注釈
バージョン2.11.0以降、Spark用Snowflakeコネクタは、Spark 3.1、3.2、3.3をサポートします。Spark用Snowflakeコネクタのバージョン2.11.0は、Spark 3.0をサポートしていません。コネクタの以前のバージョンは、引き続きSpark 3.0をサポートします。
Snowflake GCP アカウントの場合、Snowflake JDBC ドライバーバージョン3.13.16から3.13.21は、Spark コネクタでは動作しません。
バージョン2.10.1(2022年8月15日)¶
互換性のある JDBC ドライバーバージョン: 3.13.14
バグ修正¶
セキュリティの脆弱性 CVE-2020-8908 および CVE-2018-10237 を回避するために、ライブラリへの不要な依存関係を削除しました。
Snowflakeからデータを読み取る際に、 JDBC データ型
TIMESTAMP_WITH_TIMEZONE
を使用するためのサポートを追加しました。DataFrame をSnowflakeに保存する前にテーブルの存在をチェックするロジックを変更しました。
トークンの有効期限切れによる潜在的な問題を回避するため、コネクタは(新しい接続を作成するのではなく)既存の接続を再利用するようになりました。
テーブル名が完全修飾されていない(つまり、スキーマ名を含まない)場合、コネクタはセッションで現在使われているスキーマではなく、sfSchemaによって指定されたスキーマにあるテーブルをチェックするようになりました。
注釈
sfSchema
以外のスキーマのテーブルに DataFrame を保存する必要がある場合は、 USE SCHEMA を実行して現在のスキーマを変更するのではなく、テーブルの完全修飾名の一部としてスキーマを指定します。
DataFrame、
ArrayType
、MapType
、またはStructType
列をSnowflakeに書き込む際に、 COPY INTO TABLE コマンドで不要なparse_json()
呼び出しを回避することで、パフォーマンスを改善しました。Utils
クラスにgetLastSelectQueryId
とgetLastCopyLoadQueryId
メソッドを追加しました。これらのメソッドは、Snowflakeからデータを読み込んだ最後のクエリのクエリ ID、また最後に実行された COPY INTO TABLE ステートメントを(それぞれ)返します。
バージョン2.10.0(2022年2月17日)¶
互換性のある JDBC ドライバーバージョン: 3.13.14
動作変更¶
Sparkバージョン3.2のサポートを追加しました。このリリース以降、Spark用SnowflakeコネクタはSpark 3.0、3.1、3.2のみをサポートします。Sparkバージョン2.4はサポートされなくなりました。
バグ修正¶
文字列「null」が
NULL
型とみなされる問題を修正しました。