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

DataWorks:DataWorks における EMR クラスター構成のベストプラクティス

最終更新日:Mar 27, 2026

E-MapReduce (EMR) DataLake クラスターを DataWorks ワークスペースに登録し、EMR ノード (EMR Hive、EMR MR、EMR Presto、EMR Spark SQL) を実行する場合、デフォルトのコンポーネント設定では本番環境のワークロードに対応できないことがよくあります。このトピックでは、Kyuubi、Spark、および Hadoop 分散ファイルシステム (HDFS) の推奨メモリ構成について説明し、開発環境と本番環境の間でメタデータを隔離する方法についても解説します。

EMR コンポーネントの構成

Kyuubi

本番環境では、次の JVM メモリパラメーターを設定します。

パラメーター 推奨値 説明
kyuubi_java_opts 10g 以上 Kyuubi サーバー JVM のヒープサイズ。ヒープを大きくすると、同時クエリ負荷時のガベージコレクション (GC) のプレッシャーが軽減されます。
kyuubit_beeline_opts 2g 以上 Beeline クライアントのヒープサイズ。クエリが大きな結果セットを返す場合は、この値を増やしてください。

Spark

Spark のデフォルトのメモリ割り当ては控えめです。クラスターのサイズとワークロードに基づいて、次のパラメーターを調整してください。

パラメーター スコープ 説明
spark.driver.memory ドライバー Spark ドライバーのヒープサイズ。ドライバーが大きなブロードキャスト変数を処理したり、大量のデータを収集したりする場合は、この値を増やしてください。
spark.driver.memoryOverhead ドライバー ドライバー JVM 用に予約されるオフヒープメモリ。クラスターの規模とワークロードに基づいて調整します。
spark.executor.memory エグゼキュータ 各エグゼキュータのヒープサイズ。これは、エグゼキュータのパフォーマンスを調整するための主要なパラメーターです。

これらのパラメーターを spark-submit 経由で渡すことで、クラスター上の他のワークロードに影響を与えることなく、ジョブレベルで適用できます。

spark-submit \
  --conf spark.driver.memory=4g \
  --conf spark.driver.memoryOverhead=512m \
  --conf spark.executor.memory=8g \
  ...

Spark のメモリ構成オプションの完全なリストについては、「Spark のメモリ管理」をご参照ください。

データリネージのサポート

重要

DataWorks のすべての EMR ノードタイプがリネージデータを生成するわけではありません。リネージに依存するパイプラインを設計する前に、以下の制約を確認してください。

ノードタイプ テーブルレベルのリネージ 列レベルのリネージ
EMR Hive サポート済み サポート済み
EMR Spark サポート済み (Spark 2.x のみ) 非サポート
EMR Spark SQL サポート済み (Spark 2.x のみ) 非サポート
EMR MR 非サポート 非サポート
EMR Presto 非サポート 非サポート

HDFS

HDFS デーモンのメモリは、次のパラメーターによって制御されます。クラスターのサイズに基づいてこれらを調整してください。データノードが多く、名前空間の負荷が高い大規模なクラスターでは、より多くのヒープが必要になります。

パラメーター コンポーネント 説明
hadoop_namenode_heapsize NameNode NameNode JVM のヒープサイズ。ファイルとブロックの数が多いクラスターでは、この値を増やしてください。
hadoop_datanode_heapsize DataNode 各 DataNode JVM のヒープサイズ。
hadoop_secondary_namenode_heapsize Secondary NameNode 定期的なチェックポイント処理を担う Secondary NameNode のヒープサイズ。
hadoop_namenode_opts NameNode GC チューニングフラグなど、NameNode の追加の JVM オプション。

環境間のメタデータ隔離

DataWorks ワークスペースが標準モードで実行されている場合、開発環境用と本番環境用に 2 つの個別の EMR クラスターを登録する必要があります。両方とも [設定センター][データソース] ページで登録します。

データ隔離の要件を満たすには、各クラスターのメタデータを個別の ApsaraDB RDS データベースでバックアップします。両方の環境に単一のデータベースを使用すると、開発環境の変更が本番環境のメタデータに影響を及ぼす可能性があり、環境の隔離という目的が損なわれます。

設定手順とその他の注意事項については、「DataWorks での EMR タスク開発に関する注意事項」をご参照ください。