Spark 속성을 사용하여 사용자 지정 구성 지정 - Amazon Athena

Spark 속성을 사용하여 사용자 지정 구성 지정

Amazon Athena for Apache Spark에서 세션을 생성하거나 편집할 때 Spark 속성을 사용하여 세션에 대한 .jar 파일, 패키지 또는 다른 사용자 지정 구성을 지정할 수 있습니다. Spark 속성을 지정하려면 Athena 콘솔, AWS CLI 또는 Athena API를 사용할 수 있습니다.

Athena 콘솔을 사용하여 Spark 속성 지정

Athena 콘솔에서 노트북을 생성하거나 현재 세션을 편집할 때 Spark 속성을 지정할 수 있습니다.

노트북 생성 또는 세션 세부 정보 편집 대화 상자에서 속성을 추가하려면
  1. Spark 속성을 확장합니다.

  2. 속성을 추가하려면 테이블에서 편집 또는 JSON으로 편집 옵션을 사용합니다.

    • 테이블에서 편집 옵션의 경우 속성 추가를 선택하여 속성을 추가하거나 제거를 선택하여 속성을 제거합니다. 상자를 사용하여 속성 이름과 값을 입력합니다.

      • 사용자 지정 .jar 파일을 추가하려면 spark.jars 속성을 사용합니다.

      • 패키지 파일을 지정하려면 spark.jars.packages 속성을 사용합니다.

    • 구성을 직접 입력하고 편집하려면 JSON으로 편집 옵션을 선택합니다. JSON 텍스트 편집기에서 다음 작업을 수행할 수 있습니다.

      • 복사를 선택하여 JSON 텍스트를 클립보드에 복사합니다.

      • 지우기를 선택하여 JSON 편집기에서 모든 텍스트를 제거합니다.

      • 설정(톱니) 아이콘을 선택하여 줄 바꿈을 구성하거나 JSON 편집기의 색상 테마를 선택합니다.

참고

  • Athena for Spark에서 속성을 설정할 수 있습니다. 이 방법은 SparkConf 객체에서 Spark 속성을 직접 설정하는 것과 같습니다.

  • 모든 Spark 속성을 spark. 접두사로 시작합니다. 다른 접두사의 속성은 무시됩니다.

  • Athena에서 사용자 지정 구성에 대해 일부 Spark 속성은 사용할 수 없습니다. 구성이 제한된 StartSession 요청을 제출하면 세션이 시작되지 않습니다.

    • spark.athena. 접두사는 예약되어 있으므로 사용할 수 없습니다.

AWS CLI 또는 Athena API를 사용하여 사용자 지정 구성 제공

AWS CLI 또는 Athena API를 사용하여 세션 구성을 제공하려면 StartSession API 작업 또는 start-session CLI 명령을 사용합니다. StartSession 요청에서 EngineConfiguration 객체의 SparkProperties 필드를 사용하여 구성 정보를 JSON 형식으로 전달합니다. 그러면 지정된 구성으로 세션이 시작됩니다.

AWS CLI에서 사용자 지정 Spark 속성을 지정하려면 대화형 세션을 시작할 때 engine-configuration 구성을 사용합니다.

aws athena start-session \ --region "REGION" --work-group "WORKGROUP" \ --engine-configuration '{ "Classifications": [{ "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "10", "spark.dynamicAllocation.executorIdleTimeout": "300" } }] }'

CreateWorkgroup API 작업 또는 UpdateWorkgroup API 작업을 사용하여 작업 그룹 수준에서 구성 기본값을 지정할 수도 있습니다. 작업 그룹에 정의된 구성 기본값은 해당 작업 그룹에 대해 시작된 모든 세션에 적용됩니다.

작업 그룹에 대한 AWS CLI에서 기본 Spark 속성을 지정하려면 새 작업 그룹을 생성할 때 engine-configuration 구성을 사용합니다.

aws athena create-work-group \ --region "REGION" \ --name "WORKGROUP_NAME" \ --configuration '{ "EngineVersion": { "SelectedEngineVersion": "Apache Spark version 3.5" }, "ExecutionRole": "EXECUTION_ROLE", "EngineConfiguration": { "Classifications": [ { "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "10", "spark.dynamicAllocation.executorIdleTimeout": "300" } } ] } }'

작업 그룹에 대한 AWS CLI에서 기본 Spark 속성을 수정하려면 작업 그룹을 업데이트할 때 engine-configuration 구성을 사용합니다. 변경 사항은 이후 새로운 대화형 세션에 적용됩니다.

aws athena update-work-group \ --region "REGION" \ --work-group "WORKGROUP_NAME" \ --configuration-updates '{ "EngineVersion": { "SelectedEngineVersion": "Apache Spark version 3.5" }, "ExecutionRole": "EXECUTION_ROLE", "EngineConfiguration": { "Classifications": [ { "Name": "spark-defaults", "Properties": { "spark.dynamicAllocation.minExecutors": "1", "spark.dynamicAllocation.initialExecutors": "2", "spark.dynamicAllocation.maxExecutors": "12", "spark.dynamicAllocation.executorIdleTimeout": "300" } } ] } }'