Class: AWSCDK::Athena::CfnWorkGroup::EngineConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
athena/cfn_work_group.rb

Overview

The engine configuration for the workgroup, which includes the minimum/maximum number of Data Processing Units (DPU) that queries should use when running in provisioned capacity.

If not specified, Athena uses default values (Default value for min is 4 and for max is Minimum of 124 and allocated DPUs).

To specify DPU values for PC queries the WG containing EngineConfiguration should have the following values: The name of the Classifications should be athena-query-engine-properties , with the only allowed properties as max-dpu-count and min-dpu-count .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(additional_configs: nil, classifications: nil, coordinator_dpu_size: nil, default_executor_dpu_size: nil, max_concurrent_dpus: nil, spark_properties: nil) ⇒ EngineConfigurationProperty

Returns a new instance of EngineConfigurationProperty.

Parameters:

  • additional_configs (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    Contains additional notebook engine MAP<string, string> parameter mappings in the form of key-value pairs.

  • classifications (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Athena::CfnWorkGroup::ClassificationProperty>, nil) (defaults to: nil)

    The configuration classifications that can be specified for the engine.

  • coordinator_dpu_size (Numeric, nil) (defaults to: nil)

    The number of DPUs to use for the coordinator.

  • default_executor_dpu_size (Numeric, nil) (defaults to: nil)

    The default number of DPUs to use for executors.

  • max_concurrent_dpus (Numeric, nil) (defaults to: nil)

    The maximum number of DPUs that can run concurrently.

  • spark_properties (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    Specifies custom jar files and Spark properties for use cases like cluster encryption, table formats, and general Spark tuning.



867
868
869
870
871
872
873
874
875
876
877
878
879
880
# File 'athena/cfn_work_group.rb', line 867

def initialize(additional_configs: nil, classifications: nil, coordinator_dpu_size: nil, default_executor_dpu_size: nil, max_concurrent_dpus: nil, spark_properties: nil)
  @additional_configs = additional_configs
  Jsii::Type.check_type(@additional_configs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "additionalConfigs") unless @additional_configs.nil?
  @classifications = classifications
  Jsii::Type.check_type(@classifications, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXRoZW5hLkNmbldvcmtHcm91cC5DbGFzc2lmaWNhdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "classifications") unless @classifications.nil?
  @coordinator_dpu_size = coordinator_dpu_size
  Jsii::Type.check_type(@coordinator_dpu_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "coordinatorDpuSize") unless @coordinator_dpu_size.nil?
  @default_executor_dpu_size = default_executor_dpu_size
  Jsii::Type.check_type(@default_executor_dpu_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "defaultExecutorDpuSize") unless @default_executor_dpu_size.nil?
  @max_concurrent_dpus = max_concurrent_dpus
  Jsii::Type.check_type(@max_concurrent_dpus, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxConcurrentDpus") unless @max_concurrent_dpus.nil?
  @spark_properties = spark_properties
  Jsii::Type.check_type(@spark_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "sparkProperties") unless @spark_properties.nil?
end

Instance Attribute Details

#additional_configsAWSCDK::IResolvable, ... (readonly)

Contains additional notebook engine MAP<string, string> parameter mappings in the form of key-value pairs.

To specify an Athena notebook that the Jupyter server will download and serve, specify a value for the StartSessionRequest$NotebookVersion field, and then add a key named NotebookId to AdditionalConfigs that has the value of the Athena notebook ID.



888
889
890
# File 'athena/cfn_work_group.rb', line 888

def additional_configs
  @additional_configs
end

#classificationsAWSCDK::IResolvable, ... (readonly)

The configuration classifications that can be specified for the engine.



893
894
895
# File 'athena/cfn_work_group.rb', line 893

def classifications
  @classifications
end

#coordinator_dpu_sizeNumeric? (readonly)

The number of DPUs to use for the coordinator.

A coordinator is a special executor that orchestrates processing work and manages other executors in a notebook session. The default is 1.



900
901
902
# File 'athena/cfn_work_group.rb', line 900

def coordinator_dpu_size
  @coordinator_dpu_size
end

#default_executor_dpu_sizeNumeric? (readonly)

The default number of DPUs to use for executors.

An executor is the smallest unit of compute that a notebook session can request from Athena. The default is 1.



907
908
909
# File 'athena/cfn_work_group.rb', line 907

def default_executor_dpu_size
  @default_executor_dpu_size
end

#max_concurrent_dpusNumeric? (readonly)

The maximum number of DPUs that can run concurrently.



912
913
914
# File 'athena/cfn_work_group.rb', line 912

def max_concurrent_dpus
  @max_concurrent_dpus
end

#spark_propertiesAWSCDK::IResolvable, ... (readonly)

Specifies custom jar files and Spark properties for use cases like cluster encryption, table formats, and general Spark tuning.



917
918
919
# File 'athena/cfn_work_group.rb', line 917

def spark_properties
  @spark_properties
end

Class Method Details

.jsii_propertiesObject



919
920
921
922
923
924
925
926
927
928
# File 'athena/cfn_work_group.rb', line 919

def self.jsii_properties
  {
    :additional_configs => "additionalConfigs",
    :classifications => "classifications",
    :coordinator_dpu_size => "coordinatorDpuSize",
    :default_executor_dpu_size => "defaultExecutorDpuSize",
    :max_concurrent_dpus => "maxConcurrentDpus",
    :spark_properties => "sparkProperties",
  }
end

Instance Method Details

#to_jsiiObject



930
931
932
933
934
935
936
937
938
939
940
941
# File 'athena/cfn_work_group.rb', line 930

def to_jsii
  result = {}
  result.merge!({
    "additionalConfigs" => @additional_configs,
    "classifications" => @classifications,
    "coordinatorDpuSize" => @coordinator_dpu_size,
    "defaultExecutorDpuSize" => @default_executor_dpu_size,
    "maxConcurrentDpus" => @max_concurrent_dpus,
    "sparkProperties" => @spark_properties,
  })
  result.compact
end