AnalyticDB for MySQL Sparkの設定パラメーターは、Apache Sparkの設定パラメーターと同様です。 このトピックでは、Apache Sparkとは異なるAnalyticDB for MySQL Sparkの設定パラメーターについて説明します。
使用上の注意
Sparkアプリケーションの設定パラメーターは、Sparkアプリケーションの動作とパフォーマンスを設定および調整するために使用されます。 Sparkアプリケーション構成パラメータの形式は、Spark開発ツールによって異なります。
開発ツール | 設定パラメーターの形式 | 例 |
SQLエディター | set key=value; |
|
Spark JARエディター | "キー": "値" |
|
ノートブックエディタ | "キー": "値" |
|
spark-submitコマンドラインツール | キー=値 |
|
Sparkドライバとエグゼキュータリソースの指定
パラメーター | 必須 | 説明 | Apache Sparkの対応するパラメーター |
spark.driver.resourceSpec | はい | Sparkドライバーのリソース仕様。 各タイプは異なる仕様に対応しています。 詳細については、このトピックの「Sparkリソースの仕様」表の「タイプ」列を参照してください。 重要 Sparkアプリケーションを送信する場合は、Apache Sparkパラメーターを使用し、このトピックの「Sparkリソース仕様」表に記載されているコアとメモリの値に基づいてパラメーターを設定できます。 例: | spark.driver.coresとspark.driver.memory |
spark.exe cutor.resourceSpec | はい | 各Sparkエグゼキュータのリソース仕様。 各タイプは異なる仕様に対応しています。 詳細については、このトピックの「Sparkリソースの仕様」表の「タイプ」列を参照してください。 重要 Sparkアプリケーションを送信する場合は、Apache Sparkパラメーターを使用し、このトピックの「Sparkリソース仕様」表に記載されているコアとメモリの値に基づいてパラメーターを設定できます。 例: | spark.exe cutor.coresとspark.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.metastore.version | いいえ |
|
例
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 | いいえ |
| Linux OSのAnalyticDB for MySQL Sparkジョブログと出力データが格納されるディレクトリ。 デフォルトでは、SparkアプリケーションIDという名前のフォルダには次のコンテンツが含まれます。
|
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.maxWaitOnEndSecs | いいえ | 10 | イベントをOSSにアップロードするための最大待ち時間。 単位は秒です。 最大待機時間は、アップロードの開始から完了までの間隔です。 最大待機時間内にアップロードが完了しない場合、アップロードは再試行されます。 |
spark.adb.event.waitForPendingPayloadsSleepIntervalSecs | いいえ | 1 | |
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を有効にする必要があります。 有効な値:
|
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データソースにアクセスする場合は、このパラメーターを指定する必要があります。 説明
|
spark.adb.eni.adbHostAlias.enabled | いいえ | false | AnalyticDB for MySQLが必要とするドメイン名解決情報をドメイン名とIPアドレスのマッピングテーブルに自動的に書き込むかどうかを指定します。 有効な値:
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のバージョン。 有効な値:
|
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>