概要
Rは、統計的計算のための強力なプログラミング言語、およびソフトウェア環境です。Rで作成されたスクリプトをYellowfinと組み合わせることで、データの高度な統計分析を行うことができます。
R Transformation Step(変換ステップ)を使用することで、Rを使用して作成された分析モデルやアプリケーションをYellowfinで使用することができます。このStep(ステップ)を通してRスクリプトを使用することで、Yellowfinのデータ上で生成するようにデザインされた結果を得ることができます。
前提条件
こちらのStep(ステップ)を使用するためには、以下の設定が必要です。
- Rserveパッケージが実行されているRインスタンスへのアクセス
- 少なくともひとつの有効なRスクリプト
- YellowfinインスタンスへRのプラグインのインストール。Rのプラグインは、マーケットプレイスからダウンロードすることができます。
Rスクリプトを使用するためにデータ変換モジュールを使用するユーザーは、スクリプトを熟知し、入力や出力要件を把握していなくてはいけません。
Rserveについて詳細な資料は、こちらを参照してください。:https://cran.r-project.org/web/packages/Rserve/Rserve.pdf
一般的なワークフロー
こちらがプロセスの簡単な概要です。こちらの項目では、これらのStep(ステップ)の大部分について、詳細に説明します。
- Rのインスタンスへのアクセスを確立するか、自身でセットアップをします。Rスクリプトを記述し、それが有効であることを確認します。このインスタンスは、スクリプトを実行するために使用されます。
- YellowfinインスタンスへRのプラグインをインストールします。(プラグインは、マーケットプレイスからダウンロードできます。)プラグインのインストール方法は、こちらを参照してください。
- Yellowfinのデータ変換モジュールを使用して、Transformation Flow(データ変換フロー)を作成します。これには、モジュールへのデータのインポート、そして必要に応じたその他変換の適用が必要です。
- フローにR Tranformation Step(変換ステップ)を使用し、これを設定します。(ステップの設定方法は、以下の情報を参照してください。)
- Step(ステップ)を実行し、スクリプトがデータを使用して生成する出力を確認します。
データ包括モードのタイプ
R Transformation Step(変換ステップ)により生成される結果は、以下のオプションに応じます。
- 追加:追加は、既存のデータにカラム(列)が追加された場合に使用されます。このオプションは、Rスクリプトが追加されたカラム(列)とともに、元のデータを返すようにデザインされている場合に使用されます。
- 置き換え:スクリプトが特定のカラム(列)を出力し、元のデータを返す必要のない場合にこちらのオプションを使用します。
Rスクリプトの基準
Rスクリプトを記述する際には、それがYellowfinで機能することを確認しなくてはいけません。以下のガイドラインを使用して、確認をすることができます。
例1:追加
こちらは、入力データにカラム(列)を2つ追加することで出力を返す基礎的なスクリプトの例です。これは、追加オプションがどのように利用できるのかを示しています。
outData<-data.frame(c(yfData), yfData[1], yfData[3])
こちらはスクリプトの内訳と、それをYellowfin内でどのように設定するのかを示しています。
- yfData:yfDataは入力データを含むデータフレーム、またはスクリプトの前のステップから渡されるデータです。これは、Step(ステップ)の設定時に、入力変数として提供する名前です。
- yfData[1]/yfData[3]:スクリプトはデータフレーム全体を入力し、カラム(列)1とカラム(列)3を追加します。こちらの例は、特定のデータカラム(列)を指定する場合のインデックスの使用方法を示しています。
- outData:出力変数の名前です。組み合わせられた結果は、こちらの変数へ保存されます。
これらの変数名は、R Step(ステップ)内でスクリプトを設定する際に使用します。(例を以下に示します)
例2:置き換え
このスクリプトは、入力されるデータからひとつの数値カラム(列)のみを取得し、そのカラム(列)上で計算を実行するように記述されています。置き換えオプションは、このスクリプトを設定する際に使用します。
outData<-data.frame(yfData$Income*2.5)
以下は、このスクリプトの説明です。
- yfData:入力変数であるyfDataデータフレームから取得される入力されるデータです。
- Income:入力データから取得されるカラム(列)フィールドの名前です。(こちらでは、インデックス番号を使用せずに、$シンボルを使用することで、直接カラム(列)名を参照しています。)このフィールドのすべてのロウ(行)は、2.5倍されます。
- outData:計算の結果が保存される出力変数です。
このスクリプトを設定する際には、R Step(ステップ)設定パネルで、yfDataは入力変数、outDataは出力変数として提供されます。返されるフィールドの合計数として1を入力します。
ガイドライン:YellowfinでのRスクリプトの使用
パート1:Rのセットアップ
Rserveが実行されている最新バージョンのR(少なくともv3.4.0以降)を準備することを推奨します。最新バージョンは、こちらからダウンロードすることができます:https://cran.r-project.org/mirrors.html Rserveを実行するR環境にはRStudioの使用を推奨します。
以下のコマンドを参照して、Rインスタンスをセットアップしてください。
Windows端末上でのRの実行
- ローカルのWindows端末にRをインストールします。
R環境から以下のコマンドを実行します。(ローカルからRserveへアクセスするため)
install.packages("Rserve") #This installs Rserve package library(Rserve) #This loads Rserve package Rserve() #This starts Rserve
- コマンドの実行に成功すると、Rserveがインストールされ、起動します。これで、Rスクリプト Transformation Step(変換ステップ)を通して、Yellowfinへ統合する準備が整いました。
以下のコマンドを使用して、Windows端末上でRserveを実行し、外部からのアクセスを有効にします。
run.Rserve(args=" --RS-enable-remote")
Linux CentOSへのRとRserveのインストール
ターミナルから以下のコマンドを実行します。
yum install epel-release -y #Required to install R yum install R -y #Installs R wget https://download2.rstudio.org/rstudio-server-rhel-1.0.44-x86_64.rpm #Installs RStudio. (You might want to install a different version though.)
コマンドの実行に成功すると、Rサービスが自動的に実行されます。
Rサービスのステータスを確認するためには、以下のコマンドを実行します。
systemctl status rstudio-server.service
インストール後、以下のコマンドを実行してRを起動します。
sudo -i R
Rが起動したら、以下のコマンドを実行してRserveをインストールします。
install.packages("Rserve") #This installs Rserve package library(Rserve) #This loads Rserve package
- 外部からアクセスできるようにRを実行するためには、以下のステップを実行します。
- Rserveがインストールされたら、Rを停止します。
以下のコマンドを使用して、Rserveを起動します。
R CMD Rserve --RS-enable-remote --RS-port port
ここでポートは、Rを起動するポート番号を示します。
- コマンドの実行に成功すると、リモートからRへアクセスできるようになります。
Linux UbuntuへのRとRserveのインストール
ターミナルから以下のコマンドを実行します。
sudo apt-get update sudo apt-get install r-base r-base-dev sudo apt-get install gdebi-core wget https://download1.rstudio.org/rstudio-0.99.896-amd64.deb sudo gdebi -n rstudio-0.99.896-amd64.deb
インストール後、以下のコマンドを実行してRを起動します。
sudo -i R
Rが起動したら、以下のコマンドを実行してRserveをインストールします。
install.packages("Rserve") #This installs Rserve package library(Rserve) #This loads Rserve package
- 外部からアクセスできるようにRを実行するためには、以下のステップを実行します。
- Rserveがインストールされたら、Rを停止します。
以下のコマンドを使用して、Rserveを起動します。
R CMD Rserve --RS-enable-remote --RS-port port
ここでポートは、Rを起動するポート番号を示します。
- コマンドの実行に成功すると、リモートからRへアクセスできるようになります。
このTransformation Step(変換ステップ)を適切に機能させるためには、RインスタンスとRserveの適切なセットアップと実行が必要です。
Transformation Flow(データ変換フロー)内でのPFAモデルの使用
PFA Transformation Step(変換ステップ)を使用して、Yellowfinへデータサイエンスモデルを統合する方法について説明します。
- 高度な分析モデルを構築し、PFA形式でこれを保存します。ファイルタイプはJSON、もしくはYAMLです(説明の中ではこのファイルを、PFAファイルと言います)。
- Yellowfinのデータ変換モジュールへ移動します。(「作成」ボタン>「Transformation Flow(データ変換フロー)」)
- データを取得するInput Step(入力ステップ)から、Transformation Flow(データ変換フロー)の作成を始めます。(基礎的なフローの作成方法は、こちらを参照してください。また、他のデータの取得方法については、こちらを参照してください)
- 取得されたデータが、データプレビューパネルに表示されます。さらにデータを変換するために、Step(ステップ)を追加することもできます。
- PAF Step(ステップ)を使用してデータサイエンスモデルをインポートする準備が整ったら、以下の手順に従います。
Transformation Step(変換ステップ)一覧から、PFA Step(ステップ)をキャンバスへドラッグします。(PFA Step(ステップ)アイコンは、初めてドラッグされた際に、デフォルトで赤く表示されるようになっています。これは、Step(ステップ)が設定されていないことを示すためです)
こちらのStep(ステップ)が表示されない場合は、PFAのプラグインがインストールされているかを確認してください)
- Connection(接続)ポイントを使用して、最後のStep(ステップ)をPFA Step(ステップ)へ接続します。
- PFA Step(ステップ)をクリックすると、Transformation Flow(変換フロー)パネルに設定が表示されます。
- YAML、またはJSONオプションを選択して、ファイルの拡張子を指定します。
- モデルを含むPFAファイルをアップロードします。ファイルはドラッグ&ドロップ、またはファイルパスの指定によりアップロードすることができます。
- デフォルトのドラッグ&ドロップオプションを使用している場合は、指定されたエリアへ対象のファイルをドラッグします(または、エリアをクリックして、対象のファイルを選択します)
注意:不適切なファイルタイプがドラッグされた場合、以下のようなエラーメッセージが表示されます。 パスからPFAファイルを読み込む場合は、「Load from Path(パスからの読み込み)」トグルを有効にし、ファイルパス、またはURLを入力します。
サーバファイル、またはウェブサイトのURLの完全パスを入力します。URLの場合は、「http:」、または「https:」で始まることを確認してください。
- 次に、「Load File(ファイルの読み込み)」ボタンをクリックします。Step(ステップ)は、ファイルの解析を開始しますが、ファイルパスが不正確な場合は、以下のエラーメッセージが表示されます。
ファイルのアップロードが完了したら、モデルの入力を設定するさらなるフィールドが表示されます。(注意:これらのフィールドの表示には時間を要する場合があります)
- 注意:これらのフィールドは、変数の名前でラベルされている場合がありますが、PFAファイル内で名前が指定されていない場合は、変数のタイプが表示されます。例:
- モデルのデータを、以前のStep(ステップ)から取得されるデータとマッピングします。データ型が一致することを確認してください。(ユーザーはPFAファイル内のモデルを熟知しているため、正確なマッピングができると見なされます)
- 「Save(保存)」ボタンをクリックします。
- データプレビューパネルのカラム(列)に、データサイエンスモデルにより生成された結果が表示されます。注意:この出力カラム(列)に表示される名前は、PFAファイル内で指定されたものに準じます。出力の名前が指定されていない場合、カラム(列)はデフォルトで「PFA出力」とラベルされます。