

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 3단계: 애플리케이션 구성 파일 생성
<a name="spark-tutorial-step3"></a>

Amazon Keyspaces와 함께 오픈 소스 Spark Cassandra 커넥터를 사용하려면 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 구성 파일 또는 환경 변수로 저장해야 합니다. 자세한 지침은 [Cassandra 클라이언트 드라이버용 AWS CLI, AWS SDK 또는 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 실행자당 고정 속도를 적용하려면 요청 조절기를 정의하면 됩니다. 이 요청 조절기는 초당 요청 속도를 제한합니다. Spark Cassandra 커넥터는 실행자당 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
  }
}
```