DataWorksでは、E-MapReduce (EMR) DataLakeクラスターをDataWorksワークスペースに登録し、EMR DataLakeクラスターに基づいて、EMR Hive、EMR MR、EMR Presto、EMR Spark SQLノードなどのEMRノードをDataWorksに作成できます。 EMRワークフローを構成し、ワークフロー内のノードを定期的にスケジュールしたり、ワークフロー内のメタデータを管理したりできます。 これらの機能は、効率的な方法でデータを生成するのに役立ちます。 このトピックでは、DataWorksでEMRノードを実行するときに使用されるEMR DataLakeクラスターの最適な構成について説明します。
背景情報
DataWorksでEMRノードを実行するときに、さまざまなEMRコンポーネントを選択できます。 コンポーネントには、DataWorksでEMRノードを実行するためのさまざまな最適な構成があります。 ビジネス要件に基づいてEMRコンポーネントを選択できます。 詳細については、このトピックのEMRコンポーネントの構成セクションをご参照ください。
DataWorksでEMRノードを実行する場合、ワークスペースの実行モードに基づいてメタデータストレージ方法を選択できます。 詳細については、このトピックのメタデータストレージ方法の選択セクションをご参照ください。
EMR DataLakeクラスターに基づくDataWorksのEMRノードの注意事項と開発プロセスの詳細については、「DataWorksでのEMRタスク開発の使用上の注意」をご参照ください。
EMRコンポーネントの構成
Kyuubi
本番環境でKyuubiを構成する場合は、
kyuubi_java_optsのメモリサイズを10g以上に設定し、kyuubit_beeline_optsのメモリサイズを2g以上に設定することをお勧めします。Spark
Sparkのデフォルトのメモリサイズは小さくなっています。
spark-submitコマンドを実行して、ビジネス要件に基づいてデフォルトのメモリサイズを変更できます。EMRクラスターの規模に基づいて、Sparkの次の構成項目を構成できます:
spark.driver.memory、spark.driver.memoryOverhead、およびspark.executor.memory。
重要DataWorksのEMR Hiveノード、EMR Sparkノード、およびEMR Spark SQLノードのみを使用して系統を生成できます。 EMR Hiveノードは、テーブルレベルとカラムレベルの系統を生成するために使用できます。 SparkベースのEMRノードは、テーブルレベルの系統のみを生成するために使用できます。
SparkベースのEMRノードの場合、Spark 2.xを使用するノードのみを使用して系統を生成できます。
Sparkの構成方法の詳細については、「Sparkメモリ管理」をご参照ください。
HDFS
EMRクラスターの規模に基づいて、HDFSの次の構成項目を構成できます:
hadoop_namenode_heapsize、hadoop_datanode_heapsize、hadoop_secondary_namenode_heapsize、およびhadoop_namenode_opts。
メタデータストレージ方法の選択
標準モードのDataWorksワークスペースの開発環境と本番環境の間に分離メカニズムを実装するには、[settingcenter] の [データソース] ページで、開発環境に 1 つの EMR クラスター、本番環境に別の EMR クラスターを登録する必要があります。 データ分離要件を満たすには、次のいずれかの方法で 2 つの EMR クラスターのメタデータを保存する必要があります。
方法 1:Data Lake Formation (DLF) の 2 つの異なるカタログを使用してメタデータを保存します。 この方法は、データレイクシナリオに推奨されます。
方法 2:2 つの異なる ApsaraDB RDS データベースを使用してメタデータを保存します。