

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステップ 3: アプリケーション設定ファイルを作成する
<a name="spark-tutorial-step3"></a>

オープンソースの Spark Cassandra コネクタを AmazonKeyspaces で使用するには、DataStax Java ドライバーとの接続に必要な設定をしたアプリケーション設定ファイルを用意する必要があります。接続には、サービス固有の認証情報または SigV4 プラグインを使用できます。

まだ行っていない場合は、TLS 接続の作成に使用したデジタル証明書を trustStore ファイルに変換する必要があります。Java ドライバー接続チュートリアルの詳細な手順については、「[[開始する前に]](using_java_driver.md#using_java_driver.BeforeYouBegin)」を参照してください。trustStore のファイルパスとパスワードを書き留めておいてください。この情報はアプリケーション設定ファイルを作成するときに必要になります。

## SigV4 認証による 接続
<a name="appconfig.sigv4"></a>

このセクションでは、 AWS 認証情報と SigV4 プラグインを使用して接続するときに使用できる`application.conf`ファイルの例を示します。まだ作成していない場合は、IAM アクセスキー (アクセスキー ID とシークレットアクセスキー) AWS を生成し、設定ファイルまたは環境変数として保存する必要があります。詳細な手順については、「[AWS CLI、 AWS SDK、または Cassandra クライアントドライバー用の Amazon Keyspaces SigV4 プラグインに必要な認証情報](SigV4_credentials.md)」を参照してください。

次の例では、 trustStore ファイルまでのファイルパスを置き換え、パスワードを置き換えます。

```
datastax-java-driver {
        basic.contact-points = ["cassandra.us-east-1.amazonaws.com:9142"]
        basic.load-balancing-policy {
            class = DefaultLoadBalancingPolicy
            local-datacenter = us-east-1
            slow-replica-avoidance = false
        }
        basic.request {
              consistency = LOCAL_QUORUM
        }
        advanced {
                auth-provider = {
                   class = software.aws.mcs.auth.SigV4AuthProvider
                   aws-region = us-east-1
                 }
            ssl-engine-factory {
                class = DefaultSslEngineFactory
                truststore-path = "path_to_file/cassandra_truststore.jks"
                truststore-password = "password"
        hostname-validation=false
            }
   }
        advanced.connection.pool.local.size = 3   
}
```

この設定ファイルを更新し、`/home/user1/application.conf` という名前で保存します。次の例ではこのパスを使用しています。

## サービス固有の認証情報で接続する
<a name="appconfig.ssc"></a>

 このセクションでは、サービス固有の認証情報で接続するときに使用できるサンプル`application.conf`ファイルを示します。まだ作成していない場合は、Amazon Keyspaces のサービス固有の認証情報を生成する必要があります。詳細な手順については、「[Amazon Keyspaces にプログラムによってアクセスするためのサービス固有の認証情報を作成する](programmatic.credentials.ssc.md)」を参照してください。

以下の例で、`username` と `password` を自分の認証情報あに置き換えます。また、 trustStore ファイルまでのファイルパスを置き換え、パスワードも置き換えてください。

```
datastax-java-driver {
        basic.contact-points = ["cassandra.us-east-1.amazonaws.com:9142"]
        basic.load-balancing-policy {
            class = DefaultLoadBalancingPolicy
            local-datacenter = us-east-1
        }
        basic.request {
              consistency = LOCAL_QUORUM
        }
        advanced {
            auth-provider = {
            class = PlainTextAuthProvider
                    username = "username"
                    password = "password"
                    aws-region = "us-east-1"
            }
            ssl-engine-factory {
                class = DefaultSslEngineFactory
                truststore-path = "path_to_file/cassandra_truststore.jks"
                truststore-password = "password"
                hostname-validation=false
            }
            metadata = {
                schema {
                     token-map.enabled = true
                }
            }
        }    
}
```

この構成ファイルをコード例で使用できるように `/home/user1/application.conf` に更新して保存します。

## 固定料金で接続する
<a name="appconfig.fixedrate"></a>

Spark エクゼキューターごとに固定レートを強制的に使用するには、リクエストスロットラーを定義します。このリクエストスロットラーで 1 秒あたりのリクエスト数を制限します。Spark Cassandra コネクタは、エクゼキューターごとに 1 つの Cassandra セッションをデプロイします。次の式を使用すると、テーブルに対して一貫したスループットを実現できます。

```
max-request-per-second * numberOfExecutors = total throughput against a table
```

この例の内容は、前に作成したアプリケーション設定ファイルに追加できます。

```
datastax-java-driver {
  advanced.throttler {
    class = RateLimitingRequestThrottler

    max-requests-per-second = 3000
    max-queue-size = 30000
    drain-interval = 1 millisecond
  }
}
```