最新のリリースでは,このページがまだ翻訳されていません。このページの最新版は英語でご覧になれます。

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

高テーブルの作成と使用

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

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

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

メモ:

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

メモ

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

mapreduce (0);

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

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

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

tt =高(ds)
在Hadoop集群上启动一个Spark作业。这可能需要几分钟…完成。tt = M×2高的桌子阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列,阵列

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

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

一个= tt.ArrDelay;

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

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

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

sig1 =收集(one_sigma_bounds)
使用Spark簇对tall表达式进行评估:-通过1 / 1:在0.95秒内完成评估,在1.3秒内完成评估,sig1 = -23.4572 7.1201 37.6975

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

[max_delay, min_delay] =采集(max(a),min(a))
max_delay = 1014 min_delay = -64

メモ:

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

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

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

参考

|||||

関連する例

詳細