このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では高表を作成する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);
收集
|高
|数据存储
|表格
|mapreduce
|parallel.cluster.Hadoop