HDInsight での R Server とオープン ソース R の機能の概要Introduction to R Server and open-source R capabilities on HDInsight

Azure で HDInsight クラスターを作成するときのデプロイ オプションとして Microsoft R Server (別称: Microsoft Machine Learning Server) を選択できるようになりました。Microsoft R Server (also know as Microsoft Machine Learning Server) is available as a deployment option when you create HDInsight clusters in Azure. このオプションを提供するクラスターの種類は、Microsoft R Server と呼ばれます。The cluster type that provides this option is called R Server. この機能により、データ サイエンティスト、統計学者、R プログラマは、HDInsight でのスケーラブルで分散型の分析手法にオンデマンドでアクセスできるようになります。This capability provides data scientists, statisticians, and R programmers with on-demand access to scalable, distributed methods of analytics on HDInsight.

HDInsight の R Server は、Azure Blob Storage または Data Lake Storage に読み込まれた事実上すべてのサイズのデータセットで R ベースの分析を行うための最新の機能を備えています。R Server on HDInsight provides the latest capabilities for R-based analytics on datasets of virtually any size, loaded to either Azure Blob or Data Lake storage. Microsoft R Server クラスターはオープン ソース R を基盤としているため、自ら構築する R ベースのアプリケーションで 8,000 を超えるオープン ソース R パッケージを活用できます。Since R Server cluster is built on open-source R, the R-based applications you build can leverage any of the 8000+ open-source R packages. また、ScaleR (R Server に付属する Microsoft のビッグ データ分析パッケージ) のルーチンも使用できます。The routines in ScaleR, Microsoft’s big data analytics package included with R Server, are also available.

クラスターのエッジ ノードは、クラスターへの接続と R スクリプトの実行に便利な場所です。The edge node of a cluster provides a convenient place to connect to the cluster and to run your R scripts. エッジ ノードでは、エッジ ノード サーバーのコア間で、ScaleR の並列化された分散関数を実行できます。With an edge node, you have the option of running the parallelized distributed functions of ScaleR across the cores of the edge node server. また、ScaleR の Hadoop Map Reduce または Spark コンピューティング コンテキストを使用して、クラスターのノード間でこれらの関数を実行することもできます。You can also run them across the nodes of the cluster by using ScaleR’s Hadoop Map Reduce or Spark compute contexts.

分析によって得られたモデルや予測は、ダウンロードしてオンプレミスで使用できます。The models or predictions that result from analysis can be downloaded for on-premises use. また、Azure Machine Learning Studio などの Web サービスを使用して、Azure の別の場所で運用化することもできます。They can also be operationalized elsewhere in Azure, in particular through Azure Machine Learning Studio web service.

HDInsight での R Server の使用Get started with R Server on HDInsight

Azure HDInsight に Microsoft R Server クラスターを作成するには、Azure Portal を使って HDInsight クラスターを作成するときに、Microsoft R Server クラスター タイプを選びます。To create an R Server cluster in Azure HDInsight, select the R Server cluster type when creating an HDInsight cluster using the Azure portal. この R Server クラスター タイプは、クラスターのデータ ノード上の R Server と、R Server ベースの分析用のランディング ゾーンとしてのエッジ ノードを組み込みます。The R Server cluster type includes R Server on the data nodes of the cluster and on an edge node, which serves as a landing zone for R Server-based analytics. クラスターの作成手順については、HDInsight での R Server の使用に関する記事をご覧ください。See Getting Started with R Server on HDInsight for a walkthrough on how to create the cluster.

HDInsight で Microsoft R Server を選ぶ理由Why choose R Server in HDInsight?

HDInsight の Microsoft R Server は、Azure で Microsoft R Server を使うオプションを提供します。R Server in HDInsight provides the option to use the R Server on Azure. Microsoft R Server には次のものが含まれます。R Server includes:

  • Microsoft およびオープン ソースからの最高の AI 革新The best AI innovation from Microsoft and open source

    Microsoft は、すべての個人と組織が AI にアクセスできるように努力しています。Microsoft strives to make AI accessible to every individual and organization. Microsoft R Server には、物理メモリより大きいサイズのデータを処理でき、分散方式のさまざまなプラットフォームで実行できる、RevoscaleRrevoscalepymicrosoftML などの、拡張性が高い分散アルゴリズムの豊富なセットが含まれています。R Server includes a rich set of highly-scalable, distributed set of algorithms such as RevoscaleR, revoscalepy, and microsoftML that can work on data sizes larger than the size of physical memory, and run on a wide variety of platforms in a distributed manner. 製品に付属する Microsoft のカスタム R パッケージPython パッケージのコレクションの詳細をご覧ください。Learn more about the collection of Microsoft's custom R packages and Python packages included with the product.

    Microsoft R Server は、単一のエンタープライズ レベルのプラットフォームで、Microsoft の新技術とオープン ソース コミュニティの技術 (R、Python、AI ツールキット) を統合します。R Server bridges these Microsoft innovations and those coming from the open source community (R, Python and AI toolkits) all on top of a single enterprise-grade platform. R または Python のすべてのオープン ソース機械学習パッケージが、Microsoft 独自の革新技術とサイド バイ サイドで動作できます。Any R or Python open source machine learning package can work side-by-side with any proprietary innovation from Microsoft.

  • 簡単で、安全性が高く、高スケールの運用化と管理Simple, secure, and high-scale operationalization and administration

    従来の運用化パラダイムと環境に依存する企業は、この部分に多くの時間と労力を費やすことになります。Enterprises relying on traditional operationalization paradigms and environments end up investing much time and effort towards this area. これらの問題により、モデルの変換時間、有効で最新に維持するためのイテレーション、規制の承認、運用化によるアクセス許可の管理などのコストと遅延が増えることがよくあります。Pain points often resulting in inflated costs and delays include: the translation time for models, iterations to keep them valid and current, regulatory approval, managing permissions through operationalization.

    Microsoft R Server は、クラス最高の運用化を提供します。機械学習モデルが完成した時点から、数回クリックするだけで Web サービス API が生成されます。R Server offers best-in-class operationalization -- from the time a machine learning model is completed, it takes just a few clicks to generate web services APIs. これらの Web サービスはオンプレミスまたはクラウドのサーバー グリッドでホストされ、基幹業務アプリケーションと統合できます。These web services are hosted on a server grid on-premises or in the cloud and can be integrated with line-of-business applications. 弾力性のあるグリッドに展開できるので、バッチとリアルタイム スコアリングの両方について、ビジネスのニーズに合わせてシームレスに拡張できます。The ability to deploy to an elastic grid lets you scale seamlessly with the needs of your business, both for batch and real-time scoring. 方法については、「HDInsight の Microsoft R Server の運用化」をご覧ください。For instructions, see Operationalize R Server on HDInsight.

  • 最適な総保有コストでユーザーに成功をもたらすエコシステムとの深い結び付きDeep ecosystem engagements to deliver customer success with optimal total cost of ownership

    アプリケーションをインテリジェントにしたり、単に AI と機械学習の新しい世界を学習したりしようとするときは、開始時に役立つ適切なリソースが必要です。Individuals embarking on the journey of making their applications intelligent or simply wanting to learn the new world of AI and machine learning, need the right resources to help them get started. このドキュメント以外に、Microsoft は、複数の学習用リソースを提供し、いくつかのトレーニング パートナーと協力して短時間で能力を高めて生産を始められるように支援しています。In addition to this documentation, Microsoft provides several learning resources and has engaged several training partners to help you ramp up and become productive quickly.

HDInsight での Microsoft R Server の主要な機能Key features of R Server on HDInsight

HDInsight の Microsoft R Server には次の機能が含まれています。The following features are included in R Server on HDInsight.

機能カテゴリFeature category [説明]Description
R 対応R-enabled R パッケージ: R で記述されたソリューション用であり、スクリプト実行用の R とランタイムのインフラストラクチャのオープン ソース ディストリビューションを含みます。R packages for solutions written in R, with an open source distribution of R and run-time infrastructure for script execution.
Python 対応Python-enabled Python モジュール: Python で記述されたソリューション用であり、スクリプト実行用の Python とランタイムのインフラストラクチャのオープン ソース ディストリビューションを含みます。Python modules for solutions written in Python, with an open source distribution of Python and run-time infrastructure for script execution.
事前トレーニング済みモデルPre-trained models ビジュアル分析とテキストのセンチメント分析に対応し、ユーザーが提供するデータをスコア付けできる状態になっています。For visual analysis and text sentiment analysis, ready to score data you provide.
展開と使用Deploy and consume サーバーを運用化し、Web サービスとしてソリューションを展開します。Operationalize your server and deploy solutions as a web service.
リモート実行Remote execution クライアント ワークステーションからネットワーク上の Microsoft R Server でリモート セッションを開始します。Start remote sessions on R Server on your network from your client workstation.

HDInsight の Microsoft R Server 向けのデータ ストレージ オプションData storage options for R Server on HDInsight

HDInsight クラスターの HDFS ファイル システムの既定のストレージを、Azure ストレージ アカウントまたは Azure Data Lake Store と関連付けることができます。Default storage for the HDFS file system of HDInsight clusters can be associated with either an Azure Storage account or an Azure Data Lake Store. この関連付けにより、分析中にクラスター ストレージにアップロードされるデータがどのようなものであっても確実に永続化され、クラスターが削除された後であってもデータを利用できます。This association ensures that whatever data is uploaded to the cluster storage during analysis is made persistent and the data is available even after the cluster is deleted. 選択したストレージ オプションへのデータ転送を担うさまざまなツールが用意されています。これには、ストレージ アカウントのポータル ベースのアップロード機能や AzCopy ユーティリティなどがあります。There are various tools for handling the data transfer to the storage option that you select, including the portal-based upload facility of the storage account and the AzCopy utility.

選択したプライマリ ストレージにかかわらず、クラスター プロビジョニング プロセス中に追加の BLOB および Data Lake Store へのアクセスを追加することができます。You have the option of adding access to additional Blob and Data lake stores during the cluster provisioning process regardless of the primary storage option in use. アカウント アクセスの追加については、HDInsight での R Server の使用に関する記事をご覧ください。See Getting started with R Server on HDInsight for information on adding access to additional accounts. 複数のストレージ アカウントの使用について詳しくは、補足記事「HDInsight の R Server 向けの Azure Storage オプション」をご覧ください。See the supplementary Azure Storage options for R Server on HDInsight article to learn more about using multiple storage accounts.

エッジ ノードで使用するストレージ オプションとして、 Azure Files を使用することもできます。You can also use Azure Files as a storage option for use on the edge node. Azure Files では、Azure Storage で作成されたファイル共有を Linux ファイル システムにマウントできます。Azure Files enables you to mount a file share that was created in Azure Storage to the Linux file system. HDInsight クラスターの R Server を対象としたこれらのデータ ストレージ オプションについて詳しくは、「HDInsight の Microsoft R Server 向けの Azure Storage オプション」をご覧ください。For more information about these data storage options for R Server on HDInsight cluster, see Azure Storage options for R Server on HDInsight.

クラスター上の Machine Learning Server にアクセスするAccess Machine Learning Server on the cluster

ブラウザーを使用して、エッジ ノードの Microsoft Machine Learning Server に接続することができます。You can connect to Microsoft Machine Learning Server on the edge node using a browser. これは、クラスターの作成時に既定でインストールされます。It is installed by default during cluster creation. 詳しくは、「HDInsight での R Server の概要」をご覧ください。For more information, see Get stared with R Server on HDInsight. ML Server には、コマンドラインから SSH/PuTTY を使用して R コンソールにアクセスすることによって接続することもできます。You can also connect to the ML Server from the command line by using SSH/PuTTY to access the R console.

R スクリプトの開発と実行Develop and run R scripts

ユーザーが作成して実行する R スクリプトでは、ScaleR ライブラリの並列化された分散ルーチンに加え、8,000 以上のオープン ソース R パッケージを使用できます。The R scripts you create and run can use any of the 8000+ open-source R packages in addition to the parallelized and distributed routines available in the ScaleR library. 一般に、エッジ ノードの R Server で実行されるスクリプトは、そのノードの R インタープリター内で実行されます。In general, a script that is run with R Server on the edge node runs within the R interpreter on that node. コンピューティング コンテキストが Hadoop Map Reduce (RxHadoopMR) または Spark (RxSpark) に設定された ScaleR 関数を呼び出す必要のあるステップは例外です。The exceptions are those steps that need to call a ScaleR function with a compute context that is set to Hadoop Map Reduce (RxHadoopMR) or Spark (RxSpark). この場合、関数は参照先データに関連付けられたクラスターのデータ (タスク) ノード間に分散した形で実行されます。In this case, the function runs in a distributed fashion across those data (task) nodes of the cluster that are associated with the data referenced. 各種コンピューティング コンテキスト オプションの詳細については、「HDInsight の R Server の計算コンテキストのオプション」を参照してください。For more information about the different compute context options, see Compute context options for R Server on HDInsight.

モデルの運用化Operationalize a model

データ モデリングが完了したら、モデルを運用化して、Azure とオンプレミスの両方で新しいデータについての予測を行うことができます。When your data modeling is complete, you can operationalize the model to make predictions for new data either from Azure and on-premises. このプロセスはスコア付けと呼ばれます。This process is known as scoring. スコア付けは、HDInsight や Azure Machine Learning のほか、オンプレミスで行うことができます。Scoring can be done in HDInsight, Azure Machine Learning, or on-premises.

HDInsight でのスコア付けScore in HDInsight

HDInsight でスコア付けを行うには、モデルを呼び出して、ストレージ アカウントに読み込んだ新しいデータ ファイルについて予測を行う R 関数を作成します。To score in HDInsight, write an R function that calls your model to make predictions for a new data file that you've loaded to your storage account. その後、予測をストレージ アカウントに保存します。Then, save the predictions back to the storage account. このルーチンは、クラスターのエッジ ノードでオンデマンドで実行することも、スケジュールされたジョブを使用して実行することもできます。You can run this routine on-demand on the edge node of your cluster or by using a scheduled job.

Azure Machine Learning (AML) でのスコア付けScore in Azure Machine Learning (AML)

Azure Machine Learning を使ってスコア付けを行うには、AzureML と呼ばれるオープン ソースの Azure Machine Learning R パッケージを使って、モデルを Azure Web サービスとして発行します。To score using Azure Machine Learning, use the open-source Azure Machine Learning R package known as AzureML to publish your model as an Azure web service. 便宜上、このパッケージはエッジ ノードにあらかじめインストールされています。For convenience, this package is pre-installed on the edge node. 次に、Azure Machine Learning の機能を使って Web サービスのユーザー インターフェイスを作成し、スコア付けが必要なときに Web サービスを呼び出します。Next, use the facilities in Azure Machine Learning to create a user interface for the web service, and then call the web service as needed for scoring.

この方法を選んだ場合、ScaleR モデル オブジェクトを、Web サービスで使う同等のオープン ソース モデル オブジェクトに変換する必要があります。If you choose this option, you must convert any ScaleR model objects to equivalent open-source model objects for use with the web service. この変換には、ScaleR 強制型変換関数 (アンサンブルベースのモデルの as.randomForest() など) を使用できます。Use ScaleR coercion functions, such as as.randomForest() for ensemble-based models, for this conversion.

オンプレミスのスコア付けScore on-premises

モデルの作成後にオンプレミスのスコア付けを行うには、R でモデルをシリアル化し、モデルをダウンロードして逆シリアル化してから、新しいデータのスコア付けに使用します。To score on-premises after creating your model, you can serialize the model in R, download it, de-serialize it, and then use it for scoring new data. 新しいデータのスコア付けは、「HDInsight でのスコア付け」で前述した方法を使用するか、DeployR を使用して実行できます。You can score new data by using the approach described earlier in Scoring in HDInsight or by using DeployR.

クラスターの管理Maintain the cluster

R パッケージのインストールと管理Install and maintain R packages

使用する R パッケージのほとんどは、R スクリプトのほとんどの手順が実行されるエッジ ノードに配置する必要があります。Most of the R packages that you use are required on the edge node since most steps of your R scripts run there. エッジ ノードに追加の R パッケージをインストールするには、R の通常の install.packages() メソッドを使用します。To install additional R packages on the edge node, you can use the usual install.packages() method in R.

クラスターで ScaleR ライブラリのルーチンを使用するだけであれば、通常はデータ ノードに追加の R パッケージをインストールする必要はありません。If you are just using routines from the ScaleR library across the cluster, you do not usually need to install additional R packages on the data nodes. ただし、データ ノードで rxExec または RxDataStep 実行の使用をサポートするために、追加のパッケージが必要になる場合があります。However, you might need additional packages to support the use of rxExec or RxDataStep execution on the data nodes.

このような場合、クラスターの作成後にスクリプト アクションを使って追加のパッケージをインストールできます。In such cases, the additional packages can be installed with a script action after you create the cluster. 詳しくは、「Azure HDInsight で R Server クラスターを管理する」をご覧ください。For more information, see Manage R Server in HDInsight cluster.

Hadoop MapReduce のメモリ設定の変更Change Hadoop MapReduce memory settings

クラスターに変更を加えることで、MapReduce ジョブの実行時に Microsoft R Server で使用可能なメモリ容量を変更できます。A cluster can be modified to change the amount of memory that is available to R Server when it is running a MapReduce job. クラスターを変更するには、クラスターの Azure ポータル ブレードで使用できる Apache Ambari UI を使用します。To modify a cluster, use the Apache Ambari UI that's available through the Azure portal blade for your cluster. クラスターの Ambari UI にアクセスする手順については、「 Ambari Web UI を使用した HDInsight クラスターの管理」をご覧ください。For instructions about how to access the Ambari UI for your cluster, see Manage HDInsight clusters using the Ambari Web UI.

次のように、RxHadoopMR の呼び出しで Hadoop スイッチを使って、Microsoft R Server で使用可能なメモリ容量を変更することもできます。It is also possible to change the amount of memory that is available to R Server by using Hadoop switches in the call to RxHadoopMR as follows:

hadoopSwitches = "-libjars /etc/hadoop/conf -Dmapred.job.map.memory.mb=6656"  

クラスターのスケーリングScale your cluster

HDInsight 上の既存の Microsoft R Server クラスターは、ポータルを使ってスケールアップまたはスケールダウンできます。An existing R Server cluster on HDInsight can be scaled up or down through the portal. スケールアップにより、大規模な処理タスクに必要な追加容量が得られます。また、クラスターがアイドル状態のときに、クラスターを縮小することもできます。By scaling up, you can gain the additional capacity that you might need for larger processing tasks, or you can scale back a cluster when it is idle. クラスターのスケーリングの手順については、HDInsight クラスターの管理に関する記事をご覧ください。For instructions about how to scale a cluster, see Manage HDInsight clusters.

システムのメンテナンスMaintain the system

OS 修正プログラムや他の更新プログラムを適用するために、HDInsight クラスターの基になる Linux VM で時間外にメンテナンスが実施されます。Maintenance to apply OS patches and other updates is performed on the underlying Linux VMs in an HDInsight cluster during off-hours. 通常、メンテナンスは毎週月曜日と木曜日の午前 3 時 30 分 (VM のローカル時刻に基づく) に実施されます。Typically, maintenance is done at 3:30 AM (based on the local time for the VM) every Monday and Thursday. 更新は、4 分の 1 以上のクラスターに同時に影響を与えないような方法で実行されます。Updates are performed in such a way that they don't impact more than a quarter of the cluster at a time.

ヘッド ノードが冗長化されており、すべてのデータ ノードが影響を受けるわけではないため、この期間に実行中のジョブは速度が低下する場合がありますが、Since the head nodes are redundant and not all data nodes are impacted, any jobs that are running during this time might slow down. ただし、完了するまで引き続き実行する必要があります。However, they should still run to completion. クラスターの再構築を必要とする致命的な障害が発生しない限り、カスタム ソフトウェアやローカル データはメンテナンス イベントで保持されます。Any custom software or local data that you have is preserved across these maintenance events unless a catastrophic failure occurs that requires a cluster rebuild.

HDInsight クラスターの Microsoft R Server の IDE オプションIDE options for R Server on an HDInsight cluster

HDInsight クラスターの Linux エッジ ノードは、R ベースの分析のランディング ゾーンです。The Linux edge node of an HDInsight cluster is the landing zone for R-based analysis. HDInsight の最新バージョンには、ブラウザー ベースの IDE としてエッジ ノードへの RStudio Server の既定のインストールが備わっています。Recent versions of HDInsight provide a default installation of RStudio Server on the edge node as a browser-based IDE. R スクリプトの開発と実行に IDE として RStudio Server を使用すると、単に R コンソールを使用した場合よりも生産性を大幅に高めることができます。Use of RStudio Server as an IDE for the development and execution of R scripts can be considerably more productive than just using the R console.

さらに、デスクトップ IDE をインストールし、リモートの MapReduce または Spark コンピューティング コンテキストを使ってクラスターにアクセスできます。Additionally, you can install a desktop IDE and use it to access the cluster through use of a remote MapReduce or Spark compute context. そのようなオプションとしては、Microsoft の R Tools for Visual Studio (RTVS)、RStudio、Walware の Eclipse ベースの StatET が挙げられます。Options include Microsoft’s R Tools for Visual Studio (RTVS), RStudio, and Walware’s Eclipse-based StatET.

また、SSH または PuTTY 経由で接続した後、単に Linux コマンド プロンプトで「R」と入力して、エッジ ノードの R コンソールにアクセスすることもできます。Lastly, you can access the R console on the edge node by typing R at the Linux command prompt after connecting via SSH or PuTY. コンソール インターフェイスを使用しているときは、別のウィンドウで R スクリプト開発用のテキスト エディターを実行し、必要に応じてスクリプトのセクションを切り取って R コンソールに貼り付けると利便性が向上します。When using the console interface, it is convenient to run a text editor for R script development in another window, and cut and paste sections of your script into the R console as needed.

価格Pricing

Microsoft R Server を含む HDInsight クラスターに関する価格は、Standard HDInsight クラスターの価格と同様に体系化されています。The prices that are associated with an HDInsight cluster with R Server are structured similarly to the prices for the standard HDInsight clusters. 料金は、ネーム、データ、エッジの各ノードの基になる VM のサイズに基づきますが、コア時間の割増分が加算されます。They are based on the sizing of the underlying VMs across the name, data, and edge nodes, with the addition of a core-hour uplift. HDInsight の価格の詳細については、「 HDInsight 価格」をご覧ください。For more information about HDInsight pricing, see HDInsight pricing.

次の手順Next steps

HDInsight クラスターで Microsoft R Server を使用する方法の詳細については、次のトピックを参照してください。To learn more about how to use R Server on HDInsight clusters, see the following topics: