メインコンテンツまでスキップ

サーバレス バンドルコネクタの書き込みオプション

サーバレスコンピュートでバンドルされたコネクタを使用して外部データソースに書き込む際、コネクタオプションのサブセットのみがサポートされています。次の表に、コネクタごとのサポートされているオプションが記載されています。

セットアップ手順と例については、 「Sparkデータソース」を参照してください。

PostgreSQL

次のオプションは、サーバレス コンピュートで PostgreSQL に書き込む際にサポートされています。

オプション

説明

host

PostgreSQLサーバーのホスト名。

port

ポート番号。デフォルト:5432

database

接続先データベース名

connectTimeout

接続を待機する最大時間(秒)。0はタイムアウトを無効にします。

user

データベースユーザー名。

password

データベースのパスワード。

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチごとに挿入する行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)0はタイムアウトを無効にします。

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

cascadeTruncate

trueの場合、ターゲットテーブルに外部キー参照を持つテーブルに切り詰めをカスケードします。デフォルトはfalseです。

オプション

説明

host

PostgreSQLサーバーのホスト名。

port

ポート番号。デフォルト:5432

database

接続先データベース名

connectTimeout

接続を待機する最大時間(秒)。0はタイムアウトを無効にします。

user

データベースユーザー名。

password

データベースのパスワード。

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチごとに挿入する行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)0はタイムアウトを無効にします。

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

cascadeTruncate

trueの場合、ターゲットテーブルに外部キー参照を持つテーブルに切り詰めをカスケードします。デフォルトはfalseです。

SQL Server

サーバーレスコンピュート環境でSQL Serverに書き込む場合、以下のオプションがサポートされます。

オプション

説明

host

SQL Serverインスタンスのホスト名。

port

ポート番号。デフォルト:1433

database

接続先データベース名

connectionTimeout

接続を待機する最大時間(秒)。0はタイムアウトを無効にします。

encrypt

true の場合、クライアントとサーバー間で送信されるすべてのデータを TLS を使用して暗号化します。デフォルトはfalseです。

trustServerCertificate

trueの場合、検証せずにサーバーのTLS証明書を信頼します。開発環境専用です。デフォルトはfalseです。

debug

true の場合、コネクタの詳細なデバッグログを有効にします。デフォルトはfalseです。

user

データベースユーザー名。

password

データベースのパスワード。

authentication

認証タイプ。サポートされている値: SqlPasswordActiveDirectoryPasswordActiveDirectoryMSI

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチごとに挿入する行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)0はタイムアウトを無効にします。

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

オプション

説明

host

SQL Serverインスタンスのホスト名。

port

ポート番号。デフォルト:1433

database

接続先データベース名

connectionTimeout

接続を待機する最大時間(秒)。0はタイムアウトを無効にします。

encrypt

true の場合、クライアントとサーバー間で送信されるすべてのデータを TLS を使用して暗号化します。デフォルトはfalseです。

trustServerCertificate

trueの場合、検証せずにサーバーのTLS証明書を信頼します。開発環境専用です。デフォルトはfalseです。

debug

true の場合、コネクタの詳細なデバッグログを有効にします。デフォルトはfalseです。

user

データベースユーザー名。

password

データベースのパスワード。

authentication

認証タイプ。サポートされている値: SqlPasswordActiveDirectoryPasswordActiveDirectoryMSI

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチごとに挿入する行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)0はタイムアウトを無効にします。

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

MySQL

サーバレスコンピュート上のMySQLに書き込む場合、以下のオプションがサポートされています。

オプション

説明

host

MySQLサーバーのホスト名。

port

ポート番号。デフォルト:3306

database

接続先データベース名

connectionTimeout

接続を待機する最大時間(秒)。0はタイムアウトを無効にします。

requireSSL

trueの場合、サーバーへのSSL暗号化接続が必要です。デフォルトはfalseです。

useSSL

trueの場合、サーバーでサポートされている場合は、接続で SSL を有効にします。デフォルトはfalseです。

user

データベースユーザー名。

password

データベースのパスワード。

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチごとに挿入する行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)0はタイムアウトを無効にします。

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

cascadeTruncate

trueの場合、ターゲットテーブルに外部キー参照を持つテーブルに切り詰めをカスケードします。デフォルトはfalseです。

オプション

説明

host

MySQLサーバーのホスト名。

port

ポート番号。デフォルト:3306

database

接続先データベース名

connectionTimeout

接続を待機する最大時間(秒)。0はタイムアウトを無効にします。

requireSSL

trueの場合、サーバーへのSSL暗号化接続が必要です。デフォルトはfalseです。

useSSL

trueの場合、サーバーでサポートされている場合は、接続で SSL を有効にします。デフォルトはfalseです。

user

データベースユーザー名。

password

データベースのパスワード。

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチごとに挿入する行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)0はタイムアウトを無効にします。

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

cascadeTruncate

trueの場合、ターゲットテーブルに外部キー参照を持つテーブルに切り詰めをカスケードします。デフォルトはfalseです。

Snowflake

以下のセクションでは、Snowflakeコネクタのサポートされているオプションを機能別に整理して記載しています。

接続

以下のオプションは、Snowflakeへの接続を構成し、セッションの動作を制御します。

オプション

説明

host

Snowflake アカウント ホスト名(例えば、<account>.snowflakecomputing.com)。

port

ポート番号。デフォルト:443

sfaccount

Snowflake アカウント識別子。

sfauthenticator

認証方法: snowflake(パスワード)、oauth(トークン)、またはsnowflake_jwt(キーペア)デフォルト: snowflake

networktimeout

ネットワーク操作のタイムアウト(秒)。

sftimezone

タイムスタンプ操作のタイムゾーン(たとえば、America/New_Yorkなどです)。

client_session_keep_alive

もしtrueの場合、長期にわたるオペレーション中にセッションタイムアウトを防ぐためにキープアライブ信号が送信されます。デフォルトはfalseです。

ocspfailopen

trueの場合、OCSP証明書の検証が利用できないときに接続の続行を許可します(フェイルオープンモード)。デフォルトはtrueです。

オプション

説明

host

Snowflake アカウント ホスト名(例えば、<account>.snowflakecomputing.com)。

port

ポート番号。デフォルト:443

sfaccount

Snowflake アカウント識別子。

sfauthenticator

認証方法: snowflake(パスワード)、oauth(トークン)、またはsnowflake_jwt(キーペア)デフォルト: snowflake

networktimeout

ネットワーク操作のタイムアウト(秒)。

sftimezone

タイムスタンプ操作のタイムゾーン(たとえば、America/New_Yorkなどです)。

client_session_keep_alive

もしtrueの場合、長期にわたるオペレーション中にセッションタイムアウトを防ぐためにキープアライブ信号が送信されます。デフォルトはfalseです。

ocspfailopen

trueの場合、OCSP証明書の検証が利用できないときに接続の続行を許可します(フェイルオープンモード)。デフォルトはtrueです。

認証

以下のオプションでは、sfauthenticatorで設定されている認証方法の資格情報を提供します。Snowflakeステージがクラウドストレージ経由でデータを書き込む際には、ステージング認証情報(temporary_aws_*awsaccesskeytemporary_azure_sas_token)が必要です。

オプション

説明

sfuser

Snowflake のユーザー名です。

sfpassword

Snowflake パスワード。sfauthenticatorsnowflakeの場合に使用されます。

sfToken

OAuthアクセストークン。sfauthenticatoroauthの場合に使用されます。

pem_private_key

キーペア認証用のPEM形式のプライベートキー。sfauthenticatorsnowflake_jwtの場合に使用されます。

temporary_aws_access_key_id

一時的なS3ステージング用AWSアクセスキーID。有効期間の短い資格情報を使用する場合、awsaccesskeyよりも推奨されます。

temporary_aws_secret_access_key

S3ステージング用の一時的なAWSシークレットアクセスキー。

temporary_aws_session_token

S3ステージング用の一時的なAWSセッショントークン

temporary_azure_sas_token

Azure Blob Storageのステージング用の一時的なAzure SASトークン

awsaccesskey

S3ステージング用のAWSアクセスキー。

awssecretkey

AWS S3ステージングのシークレットキー。

オプション

説明

sfuser

Snowflake のユーザー名です。

sfpassword

Snowflake パスワード。sfauthenticatorsnowflakeの場合に使用されます。

sfToken

OAuthアクセストークン。sfauthenticatoroauthの場合に使用されます。

pem_private_key

キーペア認証用のPEM形式のプライベートキー。sfauthenticatorsnowflake_jwtの場合に使用されます。

temporary_aws_access_key_id

一時的なS3ステージング用AWSアクセスキーID。有効期間の短い資格情報を使用する場合、awsaccesskeyよりも推奨されます。

temporary_aws_secret_access_key

S3ステージング用の一時的なAWSシークレットアクセスキー。

temporary_aws_session_token

S3ステージング用の一時的なAWSセッショントークン

temporary_azure_sas_token

Azure Blob Storageのステージング用の一時的なAzure SASトークン

awsaccesskey

S3ステージング用のAWSアクセスキー。

awssecretkey

AWS S3ステージングのシークレットキー。

ターゲット

以下のオプションでは、書き込み先のSnowflakeデータベース、スキーマ、ウェアハウス、およびテーブルを指定します。

オプション

説明

sfdatabase

Snowflake データベース名。

sfschema

Snowflake スキーマ名。

sfwarehouse

Snowflakeの仮想データウェアハウスがクエリ実行に使用されます。

sfrole

セッションのSnowflakeロール

dbtable

ターゲットテーブル名。

オプション

説明

sfdatabase

Snowflake データベース名。

sfschema

Snowflake スキーマ名。

sfwarehouse

Snowflakeの仮想データウェアハウスがクエリ実行に使用されます。

sfrole

セッションのSnowflakeロール

dbtable

ターゲットテーブル名。

書き込み動作

以下のオプションは、ターゲットのSnowflakeテーブルにデータが書き込まれる方法を制御します。

オプション

説明

column_mapping

DataFrame の列が Snowflake テーブルの列と一致する方法:name (列名による) または position (列の順序による)。デフォルトはnameです。

column_mismatch_behavior

DataFrameとテーブルの列が一致しない場合の挙動:error または ignore。デフォルトはerrorです。

truncate_table

trueの場合、書き込み前にターゲットテーブルを切り捨てます。デフォルトはfalseです。

usestagingtable

trueの場合、ターゲットにスワップする前に一時テーブルにデータをステージングすることで、アトミックな書き込みが可能になります。デフォルトはtrueです。

internal_execute_query_in_sync_mode

trueの場合、Snowflakeクエリーを同期的に実行します。デフォルトはfalseです。

autopushdown

true の場合は、フィルタリングと集計操作を Snowflake で実行します。デフォルトはtrueです。

オプション

説明

column_mapping

DataFrame の列が Snowflake テーブルの列と一致する方法:name (列名による) または position (列の順序による)。デフォルトはnameです。

column_mismatch_behavior

DataFrameとテーブルの列が一致しない場合の挙動:error または ignore。デフォルトはerrorです。

truncate_table

trueの場合、書き込み前にターゲットテーブルを切り捨てます。デフォルトはfalseです。

usestagingtable

trueの場合、ターゲットにスワップする前に一時テーブルにデータをステージングすることで、アトミックな書き込みが可能になります。デフォルトはtrueです。

internal_execute_query_in_sync_mode

trueの場合、Snowflakeクエリーを同期的に実行します。デフォルトはfalseです。

autopushdown

true の場合は、フィルタリングと集計操作を Snowflake で実行します。デフォルトはtrueです。

Redshift

以下のセクションでは、機能別に整理された Redshift コネクタのサポートされているオプションをご紹介します。

接続

以下のオプションはRedshiftクラスターへの接続を構成します。

オプション

説明

host

Redshift クラスターエンドポイントホスト名

port

ポート番号。デフォルト:5439

database

Redshift データベース名。

connectionTimeout

接続を待機する最大時間(秒)。

オプション

説明

host

Redshift クラスターエンドポイントホスト名

port

ポート番号。デフォルト:5439

database

Redshift データベース名。

connectionTimeout

接続を待機する最大時間(秒)。

認証

以下のオプションは、Redshift および Redshift が書き込み操作中に使用する S3 ステージング場所の認証情報を設定します。

オプション

説明

user

Redshiftのユーザー名。

password

Redshift のパスワードです。

aws_iam_role

RedshiftがステージングデータのためにS3にアクセスするために使用するIAMロールのARN

temporary_aws_access_key_id

一時的なS3ステージング用AWSアクセスキーID。有効期間の長い資格情報よりも推奨されます。

temporary_aws_secret_access_key

S3ステージング用の一時的なAWSシークレットアクセスキー。

temporary_aws_session_token

S3ステージング用の一時的なAWSセッショントークン

forward_spark_s3_credentials

trueの場合、SparkのS3認証情報をステージング用にRedshiftに転送します。Spark および Redshift が同じ S3 認証情報を共有している場合にのみ使用してください。デフォルトはfalseです。

オプション

説明

user

Redshiftのユーザー名。

password

Redshift のパスワードです。

aws_iam_role

RedshiftがステージングデータのためにS3にアクセスするために使用するIAMロールのARN

temporary_aws_access_key_id

一時的なS3ステージング用AWSアクセスキーID。有効期間の長い資格情報よりも推奨されます。

temporary_aws_secret_access_key

S3ステージング用の一時的なAWSシークレットアクセスキー。

temporary_aws_session_token

S3ステージング用の一時的なAWSセッショントークン

forward_spark_s3_credentials

trueの場合、SparkのS3認証情報をステージング用にRedshiftに転送します。Spark および Redshift が同じ S3 認証情報を共有している場合にのみ使用してください。デフォルトはfalseです。

書き込み動作

以下のオプションにより、ディストリビューション、ソートキー、およびステージング形式など、ターゲットのRedshiftテーブルへのデータの書き込み方法が制御されます。

オプション

説明

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチあたりの挿入行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

diststyle

Redshift ディストリビューションスタイル: EVENKEY、またはALL

distkey

分布キーとして使用する列。diststyleKEYの場合に必須

sortkeyspec

Redshift テーブルのソートキーの指定(例: SORTKEY(col1, col2)

csvnullstring

ステージングCSVファイルに書き込まれる文字列で、 NULL値を表します。デフォルト:空の文字列。

tempformat

ステージングファイルの形式:CSVまたはAVRO。デフォルトはCSVです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

オプション

説明

dbtable

ターゲットテーブル名。スキーマ修飾名に対応しています(例えば、myschema.mytable)。

batchsize

バッチあたりの挿入行数。デフォルト:1000

numPartitions

並列書き込み操作に使用するSparkパーティションの数。

queryTimeout

クエリー完了までの最大待機時間 (秒)

isolationLevel

トランザクション分離レベル:NONEREAD_COMMITTEDREAD_UNCOMMITTEDREPEATABLE_READ、または SERIALIZABLE。デフォルトはREAD_UNCOMMITTEDです。

diststyle

Redshift ディストリビューションスタイル: EVENKEY、またはALL

distkey

分布キーとして使用する列。diststyleKEYの場合に必須

sortkeyspec

Redshift テーブルのソートキーの指定(例: SORTKEY(col1, col2)

csvnullstring

ステージングCSVファイルに書き込まれる文字列で、 NULL値を表します。デフォルト:空の文字列。

tempformat

ステージングファイルの形式:CSVまたはAVRO。デフォルトはCSVです。

truncate

true の場合、削除して再作成する代わりに、overwrite モードでターゲットテーブルを切り捨てます。デフォルトはfalseです。

サーバレス コンピュートで PostgreSQL に書き込む

この例ではappendモードを使用し、Databricksのシークレットスコープから認証情報を取得します。

Python
df.write \
.format("postgresql") \
.option("host", dbutils.secrets.get(scope="<scope>", key="<host>")) \
.option("port", "<port>") \
.option("database", "<database-name>") \
.option("dbtable", "<table-name>") \
.option("user", dbutils.secrets.get(scope="<scope>", key="<user>")) \
.option("password", dbutils.secrets.get(scope="<scope>", key="<password>")) \
.mode("append") \
.save()

次のステップ

  • Spark データソース: 設定手順、コード例、およびSpark 統合戦略の比較。
  • JDBC connection:サーバレス環境でバンドルされているコネクタでサポートされていないオプション、またはバンドルされているコネクタがないデータソースの場合は、JDBCドライバを使用したUnity Catalog接続を使用します。
  • Spark API オプションリファレンス:データフレームReader、データフレームWriter、ファイル形式およびストリーミングソースのストリーミングオプションに関するリファレンス