主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

火花対応Hadoopクラスターでの高配列の使用

高テーブルの作成と使用

この例では高表を作成するMATLAB®の例を変更して,火花®対応Hadoop®クラスターで実行する方法を説明します。この高テーブルを使用して高配列を作成し,統計プロパティを計算できます。コードをローカルで作成してからスケールアップすることで,アルゴリズムを書き換えることなく并行计算工具箱™およびMATLAB并行服务器™が提供する機能を利用できます。高配列およびデータストアを使用するビッグデータのワークフローおよびHadoopクラスターの構成(MATLAB并行服务器)も参照してください。

まず,環境変数とクラスタープロパティを,特定の火花対応Hadoopクラスターの構成に応じて適切に設定しなければなりません。これらの値とクラスターにジョブを投入するために必要なその他のプロパティについては,システム管理者に問い合わせてください。

setenv (“HADOOP_HOME”/道路/ / hadoop /安装的setenv ()“SPARK_HOME”/道路/ /火花/安装的);集群= parallel.cluster.Hadoop;%可选,如果你想控制工人的确切数量:集群。火花Properties(“spark.executor.instances”)=“16”;mapreduce(集群);

メモ:

設定手順で,mapreduceを使用してクラスター実行環境を設定します。次の手順で,高配列を作成します。高配列の作成後にクラスター実行環境の変更または削除を行った場合、tall 配列は無効になり、再作成しなければなりません。

メモ

逐次で開発してローカルワーカーを使用しない場合は,次のコマンドを入力します。

mapreduce (0);

環境変数およびクラスタープロパティの設定後,ローカルマシンではなく火花対応Hadoop上でMATLABの高表の例を実行できます。データストアを作成して tall table に変換します。MATLAB により、tall table に対して以降の計算を実行する Spark ジョブが自動的に開始されます。

ds =数据存储(“airlinesmall.csv”);varnames = {“ArrDelay”“DepDelay”};ds。SelectedVariableNames = varnames;ds。TreatAsMissing =“NA”

データストアから高テーブルttを作成します。

tt =高(ds)
在Hadoop集群上启动Spark Job。这可能需要几分钟……完成。tt = M×2 tall table ArrDelay DepDelay ________ ________ 8 12 8 1 21 20 13 12 4 -1 59 63 3 -2 11 -1::::

この表示は,行数が未知であることを示しています。は計算が完了するまではプレースホルダーです。

高テーブルから到着遅延ArrDelayを抽出します。このアクションで,以降の計算に使用する新たな高配列変数が作成されます。

一个= tt.ArrDelay;

高配列に対して一連の操作を指定できます。この操作は,收集を呼び出すまで実行されません。こうすることで,長時間かかる可能性のある複数のコマンドをバッチ処理できます。例として,到着遅延の平均と標準偏差を計算します。これらの値を使用して,平均値から1標準偏差内にある遅延の上下のしきい値を作成します。

m =意味着(,“omitnan”);s =性病(,“omitnan”);One_sigma_bounds = [m-s m m+s];

收集を使用してone_sigma_boundsを計算し,その解をメモリに格納します。

sig1 =收集(one_sigma_bounds)
-通过1的1:在0.95秒完成评估在1.3秒完成sig1 = -23.4572 7.1201 37.6975

複数の事項を一度に評価する場合は,複数の入力と出力を收集に指定できます。これにより,それぞれの高配列で收集を個別に呼び出すよりも高速になります。例として、到着遅延の最小値と最大値を計算します。

[max_delay, min_delay] = gather(max(a),min(a))
Max_delay = 1014 min_delay = -64

メモ:

クラスターワーカー上でMATLABを起動する場合,これらの例では,より長い時間が初回での完了にかかります。

火花対応Hadoopクラスター上で高配列を使用する場合,mapreduce実行環境が存在している限り,Hadoopクラスターの計算リソースは予約されています。これらのリソースをクリアするには,mapreduceを削除しなければなりません。

删除(gcmr);
あるいは,次のようにして,異なる実行環境に変更できます。
mapreduce (0);

参考

|||||

関連する例

詳細