2022年の Snowflake Connector for Spark リリースノート¶
この記事には、 Snowflake Connector for Spark のリリースノートが含まれています。また、該当する場合は以下が含まれます。
動作の変更
新機能
顧客向けバグ修正
Snowflake は、 Snowflake Connector for Spark の更新にセマンティックバージョニングを使用します。
バージョン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
型とみなされる問題を修正しました。