Main Content

parallel.cluster.Hadoop

mapreducer、mapreduce および tall 配列用の Hadoop クラスター

コンストラクター

parallel.cluster.Hadoop

説明

parallel.cluster.Hadoop オブジェクトは、mapreducer、mapreduce および tall 配列を設定するための、クラスターへのアクセスを提供します。

プロパティ

parallel.cluster.Hadoop オブジェクトには以下のプロパティがあります。

プロパティ説明
AdditionalPathsワーカーの MATLAB 検索パスに追加するフォルダー (文字ベクトル、string、string 配列、または文字ベクトルの cell 配列として指定)
AttachedFilesmapreduce 呼び出し中にワーカーに送信されるファイルおよびフォルダー (文字ベクトル、string、string 配列、または文字ベクトルの cell 配列として指定)
AutoAttachFilesファイルを自動添付するかどうかを指定
ClusterMatlabRootワーカーが使用する MATLAB へのパスを指定
HadoopConfigurationFileHadoop に渡されるアプリケーション構成ファイル
HadoopInstallFolderローカル マシン上の Hadoop のインストール場所
HadoopPropertiesHadoop に渡される名前/値プロパティの組み合わせのマップ
LicenseNumberオンライン ライセンスで使用するライセンス番号
RequiresOnlineLicensingクラスターがオンライン ライセンスを使用するかどうかを指定
SparkInstallFolderローカル マシン上の Spark のインストール場所
SparkPropertiesSpark に渡されるプロパティの名前と値のペアのマップ

計算をワーカーにオフロードするときに、クライアント上での計算に必要なファイルもすべてワーカー上で使用可能でなければなりません。既定で、クライアントはそれらのファイルを検出して追加しようとします。自動検出をオフにするには、AutoAttachFiles プロパティを false に設定します。ソフトウェアがいずれかのファイルを検出できない場合や、クライアントからワーカーへのファイルの送信速度が遅い場合には、以下のいずれかのオプションを使用します。

  • ワーカー上でアクセスできないフォルダーにファイルが含まれている場合は、AttachedFiles プロパティを設定します。指定した各ファイルが、クラスターによってクライアントからワーカーにコピーされます。

  • ワーカー上でアクセスできるフォルダーにファイルが含まれている場合は、代わりに AdditionalPaths プロパティを設定できます。AdditionalPaths プロパティを使用して各ワーカーの MATLAB® 検索パスにパスを追加し、クライアントからワーカーへの不必要なファイルのコピーを回避します。

HadoopProperties を使用すると、Hadoop の構成プロパティをオーバーライドできます。プロパティのリストは、Hadoop® のドキュメンテーションを参照してください。

SparkInstallFolder は、既定で環境変数 SPARK_HOME に設定されます。これは、Hadoop での tall 配列の評価には必須です (ただし、mapreduce の場合は必須でない)。正しく構成されたクラスターの場合、必要なのはインストール フォルダーの設定のみです。

SparkProperties を使用すると、Spark の構成プロパティをオーバーライドできます。プロパティのリストは、Spark® のドキュメンテーションを参照してください。

ヘルプ

詳細なヘルプについては以下を入力してください。

help parallel.cluster.Hadoop

メモリのプロパティの指定

Spark 対応 Hadoop クラスターでは、使用可能なメモリ量に制限が設定されます。ワークフローをサポートするため、これらの制限を調整しなければなりません。

収集するデータのサイズ

クライアントに収集されるデータ量は、Spark のプロパティにより制限されます。

  • spark.driver.memory

  • spark.executor.memory

単一の Spark タスクから収集するデータ量は、これらのプロパティに適合しなければなりません。単一の Spark タスクは HDFS からの 1 データ ブロックを処理します。これは既定で 128 MB のデータです。元のデータの大部分を含む tall 配列を収集する場合は、必ずこれらのプロパティが適合するように設定しなければなりません。

これらのプロパティが小さすぎる値に設定された場合、以下のようなエラーが表示されます。

Error using tall/gather (line 50)
Out of memory; unable to gather a partition of size 300m from Spark.
Adjust the values of the Spark properties spark.driver.memory and 
spark.executor.memory to fit this partition.
エラー メッセージには、必要なプロパティの設定も示されます。

プロパティは、クラスターの既定の設定か MATLAB 上で直接調整します。プロパティを MATLAB で調整するには、クラスターの SparkProperties プロパティに名前と値のペアを追加します。以下に例を示します。

cluster = parallel.cluster.Hadoop;
cluster.SparkProperties('spark.driver.memory') = '2048m';
cluster.SparkProperties('spark.executor.memory') = '2048m';
mapreducer(cluster);

MATLAB ワーカーの作業メモリサイズの指定

MATLAB ワーカーの作業メモリ量は、Spark のプロパティにより制限されます。

  • spark.yarn.executor.memoryOverhead

既定では、これは 2.5 GB に設定されます。arrayfuncellfun またはカスタム データベースを使用して大量のデータを 1 回で生成する場合、通常はこの値を増加しなければなりません。Spark Executor プロセスが失われたりクラッシュが発生した場合は、この値を増加することを推奨します。

これらのプロパティは、クラスターの既定の設定か MATLAB 上で直接調整できます。プロパティを MATLAB で調整するには、クラスターの SparkProperties プロパティに名前と値のペアを追加します。以下に例を示します。

cluster = parallel.cluster.Hadoop; 
cluster.SparkProperties('spark.yarn.executor.memoryOverhead') = '4096m';
mapreducer(cluster);

バージョン履歴

R2014b で導入