Oracle R Advanced Analytics for Hadoopロゴ
Oracle R Advanced Analytics for Hadoopアイコン

Oracle R Advanced Analytics for Hadoopの新しいリリース2.6.0RのApache Spark MLlib機械学習アルゴリズムのサポートを導入。

Oracle R Advanced Analytics for Hadoop(ORAAH)の最新のリリースであるリリース2.6.0は、Oracle Big Data Connectorsリリース4.5ソフトウェア・スイートのコンポーネントの1つで、Oracle Big Data Applianceのオプションです。Oracle R Advanced Analytics for Hadoopはその根本で、HDFSに保存されたデータを操作し、両方のHIVE透過性機能を使用し、MapReduceジョブとして実行、またはApache Sparkコンテナ内部で実行できる機械学習アルゴリズムへの直接入力としてHDFSをマッピングするRインタフェースを提供しています。

リリース2.6.0の新機能は、Oracle R Advanced Analytics for Hadoopユーザーが9種類のApache Spark MLlibアルゴリズムにRコードの1つの行からアクセスできるようにする一連のAPIです。

Oracle R Advanced Analytics for Hadoopで新しく使用可能になったRのApache Spark MLlibアルゴリズム(ソース・データはHDFSまたはHIVE表でCSVに) 

  • 線形回帰 - orch.ml.linear()
  • LASSO - Least Absolute Shrinkage and Selection Operator - orch.ml.lasso()
  • リッジ回帰 - orch.ml.ridge()
  • ロジスティック回帰 - orch.ml.logistic()
  • ディシジョン・ツリー - orch.ml.dt()
  • ランダム・フォレスト - orch.ml.random.forest()
  • サポート・ベクター・マシン - orch.ml.svm()
  • k-meansクラスタリング - orch.ml.kmeans()
  • 主成分分析 - orch.ml.pca()
Oracle R Advanced Analytics for Hadoop Spark MLlibアルゴリズムで作成された新機能

Apache Sparkの新しい機械学習アルゴリズムをサポートするため、次のような新しい関数が作成されました。
  • Sparkベースのモデルを使用して新しいデータセットをスコアリングする、更新されたpredict()関数(Sparkを使用)。
  • HDFSにモデル・オブジェクトを書き込み、Spark RDDからHDFSに予測結果を戻すことができる、新しい関数hdfs.write()。
  • Spark経由で同じクラスタ、他のクラスタを問わず新しいデータセットをスコアリングするために使用できるモデル・オブジェクトを保存してロードするための、新しい一連の関数orch.save.model()およびorch.load.model()。

さらに、Oracle R Advanced Analytics for Hadoop 2.6.0では、パフォーマンスを大幅に高め、Rとの機能的互換性を強化(Rの計算式構文に厳密に準拠)するために、あらゆるSpark MLlibベースのアルゴリズム・インタフェースと連携して使用されるDistributed Model MatrixエンジンおよびDistributed Formulaパーサーも導入しています。内部的には分散モデル・マトリックスはSpark RDD(Resilient Distributed Dataset)として保存されています。

Oracle R Advanced Analytics for Hadoopの追加のプラットフォーム更新
  • Cloudera Distribution of Hadoop(CDH)リリース5.7.0のサポート。"従来の"MR1と、YARN MR2の両方がサポートされています。
  • おもな更新には、Hive透過層でのHiveServer2のサポートがあります。Oracle R Advanced Analytics for HadoopはHiveとの通信にJDBC/Thrift接続を使用し、以前のCLI実行層ではなくリモートまたはローカルのHadoopクラスタでHive問合せを実行するようになります。これにより、パフォーマンスが大幅に改善し、Hive問合せの待機時間が短くなります。
  • インストーラ・パッケージに新しいインテルのMKLリリースが追加:インテル®64アーキテクチャ・アプリケーション向けのインテル®・マス・カーネル・ライブラリ・バージョン11.1.0製品ビルド20130711。

詳しくは、Change List for ORAAH version 2.6.0およびRelease Notes for ORAAH version 2.6.0のドキュメントを参照してください。

Spark MLlibアルゴリズムの新しいインタフェースの他に、Oracle R Advanced Analytics for Hadoopでは次のような9つのアルゴリズムが事前にパッケージ化されています。

  • 高パフォーマンス・ロジスティック回帰(Sparkベース)- orch.glm2()
  • 高パフォーマンス多層パーセプトロン・フィード・フォワード・ニューラル・ネットワーク(SparkおよびMapReduceバージョン)- orch.neural()
  • 一般化線形モデル(GLM)MapReduce - orch.glm()
  • 線形回帰MapReduce - orch.lm()
  • 主成分分析(PCA)MapReduce - orch.pca()
  • k-meansクラスタリングMapReduce - orch.kmeans()
  • 非負行列因子分解(NMF)MapReduce - orch.nmf()
  • 低ランクの行列因子分解(協調フィルタリングのため)MapReduce - orch.lmf()
  • MapReduceに基づく共分散と相関性の行列計算 - orch.cor()/orch.cov()
 下記は新しいSparkベースのアルゴリズムによる改善例です。MapReduceで実行されている同一モデルと比較すると、10億のレコードで217倍も速くなっています。


Oracle R Advanced Analytics for Hadoopに関する以下の一連のブログ投稿の冒頭に、Oracle R Advanced Analytics for HadoopのSparkベースのアルゴリズムの実行速度に関する他の例が記載されています。
Oracle R Advanced Analytics for Hadoop on the Fast Lane:Spark-based Logistic Regression and MLP Neural Networks