쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

2단계: Apache Cassandra Spark 커넥터 구성

포커스 모드
2단계: Apache Cassandra Spark 커넥터 구성 - Amazon Keyspaces(Apache Cassandra용)

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

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

Apache Spark는 다양한 방식으로 구성할 수 있는 범용 컴퓨팅 플랫폼입니다. Amazon Keyspaces와 통합되도록 Spark 및 Spark Cassandra 커넥터를 구성하려면 다음 섹션에 설명된 최소 구성 설정으로 시작한 다음 나중에 워크로드에 맞게 크기를 늘리는 것이 좋습니다.

  • Spark 파티션 크기를 8MB보다 작게 생성합니다.

    Spark에서 파티션은 병렬로 실행할 수 있는 원자 데이터 청크를 나타냅니다. Spark Cassandra 커넥터를 사용하여 Amazon Keyspaces에 데이터를 쓰는 경우 Spark 파티션이 작을수록 작업에서 기록할 레코드 양도 줄어듭니다. Spark 작업에서 오류가 여러 번 발생하는 경우 지정된 재시도 횟수를 모두 사용한 후에는 작업이 실패합니다. 큰 작업을 재생하고 많은 데이터를 재처리하지 않으려면 Spark 파티션의 크기를 작게 유지합니다.

  • 재시도 횟수가 많고 실행자당 동시 쓰기 횟수를 적게 사용합니다.

    Amazon Keyspaces는 작업 제한 시간이 초과되면 용량 부족 오류를 Cassandra 드라이버에 반환합니다. Spark Cassandra 커넥터가 MultipleRetryPolicy를 사용하여 요청을 투명하게 재시도하기 때문에 구성된 제한 시간 기간을 변경하여 용량 부족으로 인한 시간 초과를 해결할 수 없습니다. 재시도 횟수가 드라이버의 연결 풀에 과부하를 주지 않도록 하려면 실행자당 동시 쓰기 횟수를 줄이고 재시도 횟수가 많아야 합니다. 다음 코드 조각은 이에 대한 예입니다.

    spark.cassandra.query.retry.count = 500 spark.cassandra.output.concurrent.writes = 3
  • 총 처리량을 세분화하여 여러 Cassandra 세션에 분배합니다.

    • Cassandra Spark 커넥터는 각 Spark 실행기에 대해 하나의 세션을 생성합니다. 이 세션을 필요한 처리량과 필요한 연결 수를 결정하는 규모의 단위라고 생각하면 됩니다.

    • 실행자당 코어 수와 작업당 코어 수를 정의할 때는 낮은 수준에서 시작하여 필요에 따라 늘립니다.

    • 일시적 오류가 발생하는 경우에도 처리할 수 있도록 Spark 작업 실패를 설정합니다. 애플리케이션의 트래픽 특성 및 요구 사항을 숙지한 후에는 spark.task.maxFailures를 제한된 값으로 설정하는 것이 좋습니다.

    • 예를 들어 다음 구성에서는 실행자당, 세션별로 두 개의 동시 작업을 처리할 수 있습니다.

      spark.executor.instances = configurable -> number of executors for the session. spark.executor.cores = 2 -> Number of cores per executor. spark.task.cpus = 1 -> Number of cores per task. spark.task.maxFailures = -1
  • 일괄 처리를 끕니다.

    • 임의 액세스 패턴을 개선하려면 일괄 처리를 해제하는 것이 좋습니다. 다음 코드 조각은 이에 대한 예입니다.

      spark.cassandra.output.batch.size.rows = 1 (Default = None) spark.cassandra.output.batch.grouping.key = none (Default = Partition) spark.cassandra.output.batch.grouping.buffer.size = 100 (Default = 1000)
  • SPARK_LOCAL_DIRS를 충분한 공간이 있는 빠른 로컬 디스크로 설정합니다.

    • 기본적으로 Spark는 맵 출력 파일과 복원력이 있는 분산 데이터 세트(RDD)를 /tmp 폴더에 저장합니다. Spark 호스트의 구성에 따라 이로 인해 디바이스에 남은 공간 없음 스타일 오류가 발생할 수 있습니다.

    • SPARK_LOCAL_DIRS 환경 변수를 /example/spark-dir이라는 디렉터리로 설정하려면 다음 명령을 사용할 수 있습니다.

      export SPARK_LOCAL_DIRS=/example/spark-dir
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.