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、 ArrayTypeMapType、または StructType 列をSnowflakeに書き込む際に、 COPY INTO TABLE コマンドで不要な parse_json() 呼び出しを回避することで、パフォーマンスを改善しました。

  • Utils クラスに getLastSelectQueryIdgetLastCopyLoadQueryId メソッドを追加しました。これらのメソッドは、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 型とみなされる問題を修正しました。