すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:Sparkアプリケーション設定パラメーター

最終更新日:Sep 29, 2024

AnalyticDB for MySQL Sparkの設定パラメーターは、Apache Sparkの設定パラメーターと同様です。 このトピックでは、Apache Sparkとは異なるAnalyticDB for MySQL Sparkの設定パラメーターについて説明します。

使用上の注意

Sparkアプリケーションの設定パラメーターは、Sparkアプリケーションの動作とパフォーマンスを設定および調整するために使用されます。 Sparkアプリケーション構成パラメータの形式は、Spark開発ツールによって異なります。

開発ツール

設定パラメーターの形式

SQLエディター

set key=value;

set spark.sql.hive.metastore.version=adb;

Spark JARエディター

"キー": "値"

"spark.sql.hive.metastore.version":"adb"

ノートブックエディタ

"キー": "値"

"spark.sql.hive.metastore.version":"adb"

spark-submitコマンドラインツール

キー=値

spark.sql.hive.metastore.version=adb

Sparkドライバとエグゼキュータリソースの指定

パラメーター

必須

説明

Apache Sparkの対応するパラメーター

spark.driver.resourceSpec

はい

Sparkドライバーのリソース仕様。 各タイプは異なる仕様に対応しています。 詳細については、このトピックの「Sparkリソースの仕様」表の「タイプ」列を参照してください。

重要

Sparkアプリケーションを送信する場合は、Apache Sparkパラメーターを使用し、このトピックの「Sparkリソース仕様」表に記載されているコアとメモリの値に基づいてパラメーターを設定できます。

例: CONF spark.driver.resourceSpec = c.small; この例では、Sparkドライバーは1コアと2 GBメモリを提供します。

spark.driver.coresspark.driver.memory

spark.exe cutor.resourceSpec

はい

各Sparkエグゼキュータのリソース仕様。 各タイプは異なる仕様に対応しています。 詳細については、このトピックの「Sparkリソースの仕様」表の「タイプ」列を参照してください。

重要

Sparkアプリケーションを送信する場合は、Apache Sparkパラメーターを使用し、このトピックの「Sparkリソース仕様」表に記載されているコアとメモリの値に基づいてパラメーターを設定できます。

例: CONF spark.exe cutor.resourceSpec = c.small; この例では、各Sparkエグゼキュータは1コアと2 GBメモリを提供します。

spark.exe cutor.coresspark.exe cutor.memory

spark.adb.driverDiskSize

いいえ

大容量のディスクストレージ要件を満たすためにSparkドライバにマウントされる追加のディスクストレージのサイズ。 デフォルトでは、追加のディスクストレージは /user_data_dirディレクトリにマウントされます。

単位は USD / GiB です。 有効な値: (0,100) 。 例: spark.adb.driverDiskSize=50Gi この例では、Sparkドライバーにマウントされている追加のディスクストレージは50 GiBに設定されています。

非該当

spark.adb.exe cutorDiskSize

いいえ

シャッフル操作の要件を満たすためにSparkエグゼキュータにマウントされる追加のディスクストレージのサイズ。 デフォルトでは、追加のディスクストレージは /shuffle_volumeディレクトリにマウントされます。

単位は USD / GiB です。 有効な値: (0,100) 。 例: spark.adb.exe cutorDiskSize=50Gi この例では、Sparkエグゼキュータにマウントされている追加のディスクストレージは50 GiBに設定されています。

非該当

Sparkリソース仕様

重要

予約リソースまたはエラスティックリソースを使用して、Sparkジョブを実行できます。 ジョブリソースグループのオンデマンドエラスティックリソースを使用してSparkジョブを実行する場合、Sparkリソースの仕様とCPUとメモリの比率に基づいて、次の式を使用して使用するAnalyticDBコンピューティングユニット (ACU) の数が計算されます。

  • 1:2のCPUとメモリの比率: 使用されたACUの数=CPUコアの数 × 0.8。

  • 1:4 CPUとメモリの比率: 使用されるACUの数=CPUコアの数 × 1。

  • 1:8 CPUとメモリの比率: 使用されるACUの数=CPUコアの数 × 1.5。

オンデマンドエラスティックリソースの料金については、「Data Lakehouse Editionの料金」をご参照ください。

Sparkリソース仕様

タイプ

仕様

使用済みACU

CPUコア

メモリ (GB)

ディスクストレージ1 (GB)

c. 小さい

1

2

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

0.8

small

1

4

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

1

m.small

1

8

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

1.5

c.medium

2

4

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

1.6

medium

2

8

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

2

m.medium

2

16

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

3

c. 大きい

4

8

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

3.2

大きい

4

16

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

4

m.large

4

32

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

6

c.xlarge

8

16

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

6.4

xlarge

8

32

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

8

m.xlarge

8

64

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

12

c.2xlarge

16

32

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

12.8

2xlarge

16

64

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

16

m.2xlarge

16

128

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

24

m.4xlarge

32

256

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

48

m.8xlarge

64

512

中国 (深セン) の Enterprise Edition トランジットルーターへ 20 GB の

96

説明

1ディスクストレージ: システムは、ディスクストレージの約1% を占めると予想されます。 実際に使用可能なディスクストレージは20 GB未満である可能性があります。

Sparkジョブの優先順位を指定する

パラメーター

必須

デフォルト値

説明

spark.adb.priority

いいえ

NORMAL

Sparkジョブの優先度。 送信されたすべてのSparkジョブを実行するにはリソースが不足している場合、優先度の高いキューに入れられたジョブが最初に実行されます。 有効な値:

  • 高い

  • ノーマル

  • ロー

  • 最低

重要

すべてのストリーミングSparkジョブに対して、このパラメーターをHIGHに設定することを推奨します。

メタデータへのアクセス

パラメーター

必須

デフォルト値

説明

spark.sql.ca talogImplementation

いいえ

  • Spark SQLジョブ: hive

  • 非Spark SQLジョブ: インメモリ

アクセスするメタデータのタイプ。 有効な値:

  • hive: Apache Sparkの組み込みのHive Metastoreのメタデータ。

  • in-memory: 一時ディレクトリ内のメタデータ。

spark.sql.hive.metastore.version

いいえ

  • Spark SQLジョブ: adb

  • 非Spark SQLジョブ: <hive_version>

メタストアサービスのバージョン。 有効な値:

  • adb: AnalyticDB for MySQLのバージョン。

  • <hive_version>: Hiveメタストアのバージョン。

説明
  • Apache SparkでサポートされているHiveバージョンについては、「Sparkの設定」をご参照ください。

  • 自己管理型のHiveメタストアにアクセスするには、デフォルト設定を標準のApache Spark設定に置き換えることができます。 詳細については、「Spark設定」をご参照ください。

  • AnalyticDB for MySQLのメタデータにアクセスするには、次の設定を設定します。

    spark.sql.hive.metastore.version=adb;
  • Apache Sparkの組み込みのHive Metastoreのメタデータにアクセスするには、次の設定を設定します。

    spark.sql.catalogImplementation=hive;
    spark.sql.hive.metastore.version=2.1.3;
  • 一時ディレクトリのメタデータにアクセスするには、次の設定を設定します。

    spark.sql.catalogImplementation=in-memory;

Spark UIの設定

パラメーター

必須

デフォルト値

説明

spark.app.log.rootPath

いいえ

oss://<aliyun-oa-adb-spark-Alibaba CloudアカウントID-oss-Zone ID>/<クラスターID>/<SparkアプリケーションID>

Linux OSのAnalyticDB for MySQL Sparkジョブログと出力データが格納されるディレクトリ。

デフォルトでは、SparkアプリケーションIDという名前のフォルダには次のコンテンツが含まれます。

  • Spark UIレンダリングに使用されるSparkイベントログを格納する、SparkアプリケーションID-000Xという名前のファイル。

  • driverという名前のフォルダと、対応するノードのログを格納する番号。

  • Linux OSの出力データを格納するstdoutおよびstderrという名前のフォルダ。

spark.adb.event.logUploadDuration

いいえ

false

イベントログのアップロード期間を記録するかどうかを指定します。

spark.adb.buffer.maxNumEvents

いいえ

1000

ドライバーによってキャッシュされるイベントの最大数。

spark.adb.payload.maxNumEvents

いいえ

10000

一度にObject Storage Service (OSS) にアップロードできるイベントの最大数。

spark.adb.event.pollingIntervalSecs

いいえ

0.5

OSSへの2つのイベントのアップロードの間隔。 単位は秒です。 たとえば、値0.5は、イベントが0.5秒ごとにアップロードされることを示します。

spark.adb.event.maxPollingIntervalSecs

いいえ

60

OSSへのイベントアップロードが失敗した場合の最大再試行間隔。 単位は秒です。 失敗したアップロードとアップロードの再試行の間隔は、spark.adb.event.pollingIntervalSecs値からspark.adb.event.maxPollingIntervalSecs値の範囲内でなければなりません。

spark.adb.event.maxWaitOnEndSecs

いいえ

10

イベントをOSSにアップロードするための最大待ち時間。 単位は秒です。 最大待機時間は、アップロードの開始から完了までの間隔です。 最大待機時間内にアップロードが完了しない場合、アップロードは再試行されます。

spark.adb.event.waitForPendingPayloadsSleepIntervalSecs

いいえ

1

spark.adb.event.maxWaitOnEndSecs値内で完了に失敗したアップロードの再試行に必要な待機時間。 単位は秒です。

spark.adb.eventLog.rolling.maxFileSize

いいえ

209715200

OSSのイベントログの最大ファイルサイズ。 単位はバイトです。 イベントログは、Eventlog.0やEventlog.1などの複数のファイルの形式でOSSに保存されます。 ファイルサイズを指定できます。

RAM ユーザーへの権限付与

パラメーター

必須

デフォルト値

説明

spark.adb.roleArn

いいえ

非該当

RAMユーザーにSparkアプリケーションを送信する権限を付与するために、RAMコンソールでRAMユーザーにアタッチするRAMロールのAlibaba Cloudリソース名 (ARN) 。 詳細については、「RAMロールの概要」をご参照ください。 SparkアプリケーションをRAMユーザーとして送信する場合は、このパラメーターを指定する必要があります。 Alibaba CloudアカウントでSparkアプリケーションを送信する場合、このパラメーターを指定する必要はありません。

説明

RAMコンソールでRAMユーザーに権限を付与している場合は、このパラメーターを指定する必要はありません。 詳細については、「権限付与の実行」をご参照ください。

組み込みのデータソースコネクタを有効にする

パラメーター

必須

デフォルト値

説明

spark.adb.connectors

いいえ

非該当

有効にするAnalyticDB for MySQL Sparkの組み込みコネクタの名前。 複数の名前はコンマ (,) で区切ります。 有効な値: oss、hudi、delta、adb、odps、external_hive、jindo。

spark.hadoop.io.com pression.codec.snappy.native

いいえ

false

Snappyファイルが標準のSnappy形式であるかどうかを指定します。 デフォルトでは、HadoopはHadoopで編集されたSnappyファイルを認識します。 このパラメーターをtrueに設定すると、標準のSnappyライブラリが解凍に使用されます。 このパラメーターをfalseに設定すると、HadoopのデフォルトのSnappyライブラリが解凍に使用されます。

VPCアクセスとデータソースアクセスの有効化

パラメーター

必須

デフォルト値

説明

spark.adb.eni.enabled

いいえ

false

Elastic Network Interface (ENI) を有効にするかどうかを指定します。

外部テーブルを使用して他の外部データソースにアクセスする場合は、ENIを有効にする必要があります。 有効な値:

  • true

  • false

spark.adb.eni.vswitchId

いいえ

非該当

ENIに関連付けられているvSwitchのID。

仮想プライベートクラウド (VPC) 経由でElastic Compute Service (ECS) インスタンスからAnalyticDB for MySQLに接続する場合、VPCのvSwitch IDを指定する必要があります。

説明

VPCアクセスを有効にしている場合は、spark.adb.eni.enabledパラメーターをtrueに設定する必要があります。

spark.adb.eni.securityGroupId

いいえ

非該当

ENIに関連付けられているセキュリティグループのID。

VPC経由でECSインスタンスからAnalyticDB for MySQLに接続する場合、セキュリティグループIDを指定する必要があります。

説明

VPCアクセスを有効にしている場合は、spark.adb.eni.enabledパラメーターをtrueに設定する必要があります。

spark.adb.eni.extraHosts

いいえ

非該当

IPアドレスとホスト名のマッピング。 このパラメーターを使用すると、Sparkはデータソースのホスト名を解決できます。 自己管理型Hiveデータソースにアクセスする場合は、このパラメーターを指定する必要があります。

説明
  • IPアドレスとホスト名をスペースで区切ります。 IPアドレスとホスト名の複数のグループをコンマ (,) で区切ります。 例: ip0 master0,ip1 master1

  • データソースアクセスを有効にした場合、spark.adb.eni.enabledパラメーターをtrueに設定する必要があります。

spark.adb.eni.adbHostAlias.enabled

いいえ

false

AnalyticDB for MySQLが必要とするドメイン名解決情報をドメイン名とIPアドレスのマッピングテーブルに自動的に書き込むかどうかを指定します。 有効な値:

  • true

  • false

ENIを使用してEMR Hiveからデータを読み書きする場合は、このパラメーターをtrueに設定する必要があります。

アプリケーションの再試行の設定

パラメーター

必須

デフォルト値

説明

spark.adb.maxAttempts

いいえ

1

アプリケーションを実行できる試行の最大数。 デフォルト値は1で、再試行を許可しないことを指定します。

Sparkアプリケーションに対してこのパラメーターを3に設定すると、スライドウィンドウ内でアプリケーションを最大3回実行しようとします。

spark.adb.attemptFailuresValidityInterval

いいえ

整数. MAX

システムがアプリケーションを再実行しようとするスライドウィンドウの期間。 単位は秒です。

たとえば、このパラメーターをSparkアプリケーションの6000に設定した場合、実行が失敗してから過去6,000秒以内の試行回数がカウントされます。 試行回数がspark.adb.maxAttemptsパラメーターの値より少ない場合、システムはアプリケーションの実行を再試行します。

Sparkジョブのランタイム環境の指定

次の表に、仮想環境テクノロジを使用してPython環境をパッケージ化し、Sparkジョブを送信するときに必要な構成パラメーターを示します。

パラメーター

必須

デフォルト値

説明

spark.pyspark.python

いいえ

非該当

オンプレミスデバイス上のPythonインタープリターのパス。

Sparkバージョンの指定

パラメーター

必須

デフォルト値

説明

spark.adb.version

いいえ

3.2

Sparkのバージョン。 有効な値:

  • 2.4

  • 3.2

  • 3.3

  • 3.5

AnalyticDB for MySQLでサポートされていない設定パラメーター

AnalyticDB for MySQL Sparkは、Apache Sparkの次の設定パラメーターをサポートしていません。 これらの設定パラメーターは、AnalyticDB for MySQL Sparkには適用されません。

Useless options(these options will be ignored):
  --deploy-mode
  --master
  --packages, please use `--jars` instead
  --exclude-packages
  --proxy-user
  --repositories
  --keytab
  --principal
  --queue
  --total-executor-cores
  --driver-library-path
  --driver-class-path
  --supervise
  -S,--silent
  -i <filename>