新发布 ORAAH 2.8.0 版
新版本的 Oracle R Advanced Analytics for Hadoop (ORAAH) 2.8.0 是 Oracle Big Data Connectors 软件套件的一个组件。
ORAAH 的获取方式包括:
ORAAH 是一组 R 程序包和 Java 库,具备以下特性:
- 提供一个 R 接口,用于处理存储在本地文件系统、HDFS、HIVE、Impala 或 JDBC 源中的数据,以及跨 Hadoop 节点集群创建分布式模型矩阵以支持 ML
- 提供一个通用计算框架,支持用户在 R 中调用并行的分布式 MapReduce 作业,在 R 中编写自定义 Mapper 和 Reducer,同时利用开源 CRAN 软件包。
- 采用并行的分布式机器学习算法,利用 Hadoop 集群的所有节点对大数据进行可扩展的高性能建模。函数中使用针对 Spark 并行执行优化的表达式 R 公式对象。
- ORAAH 基于 Spark 的自定义 LM/GLM/MLP NN 算法比开源 Spark MLlib 具备更高的可扩展性和运行速度,但 ORAAH 同时也提供了 MLlib 接口
- 从 ORAAH 2.8.0 开始,所有核心分析 (Core Analytics) 功能已解耦并整合到一个独立的 ORAAH Core Analytics Java 库中,无需 R 语言即可直接使用,而且可以从任何 Java 或 Scala 平台调用。这样便可直接、高效、便捷地与 ORAAH Core Analytics 集成。有关更多信息,请参阅安装程序包中的 “oraah-analytics-library- 2.8.0-scaladoc” zip 压缩文件。
客户视频
Oracle 助力 Energy Australia 改善客户体验 Energy Australia 设计和执行部门大数据和数据仓库解决方案架构师 Gaurav Singh 谈论如何使用大数据分析更加深入地了解客户并改善其体验。
请点击这里了解更多信息。
2.8.0 版新特性:
- Spark 2.x 接口(由于采用了新的 Spark API,因此从此版本开始,ORAAH 不再与 Spark 1.6.0 兼容)
- 支持 CDH 5.14.2(Spark 2.1.0 版到 2.3.0 版)
- 新算法:极限学习机 (ELM) 和分层 ELM(Oracle MPI/Spark 引擎)— 用于分类
- 新算法:分布式随机 PCA(Oracle MPI/Spark 引擎)
- 新算法:分布式随机 SVD(Oracle MPI/Spark 引擎)
- LM (lm2) 和 GLM (glm2) 算法的新模型统计信息
- 新的激活函数“softmax”适用于 ORAAH 的 MLP 神经网络算法,可用于二进制和多类目标(以前只有“entropy”可用于二进制目标)
- 现在会返回 Spark MLlib 分类算法的概率
- 针对 GLM 解法的新选项:精度更高的 IRLS(迭代重加权最小二乘法)和速度更快、适用性更广的 L-BFGS (Limited-memory Broyden-Fletcher-Goldfarb-Shanno)。
- 新的 IMPALA 透明度接口用于通过 R 对大型数据集执行快速内存中查询和数据准备
- 新的“orch.summary()”函数用于对 HIVE 表运行汇总统计且性能更高
- 新的 Spark DF 数据操作和汇总函数:收集、扩展(12 种标准扩展技术)、SQL 查询、通过 CSV 导入至 Spark DF、汇总(统计)、描述以及持久/非持久存储到内存中
- 新的 JDBC 接口用于将任何 SQL 源定义为公式引擎和任何算法的输入
- 新的 Spark MLlib GBT 接口 — 梯度提升树 — 用于分类和回归
- 在第一次成功加载 ORAAH 库之后,同一用户再次加载时速度更快
- 增强与 HIVE、HDFS(基于 Java 的新客户端界面)和 R data.frames 之间交互时的性能
- 如果用户未指定 dfs.namenode 参数,spark.connect() 现在会自动解析集群的活动 HDFS Namenode
- spark.connect() 现在会从 spark-defaults.conf 文件中加载默认 Spark 配置(如果在 CLASSPATH 中找到它)
- hdfs.toHive() 和 hdfs.fromHive() 现在也可以使用新支持的 Apache Impala 连接
- mapred.config 对象中添加了一个新的“queue”字段,用于指定使用 ORAAH 在 R 中编写的 MapReduce 作业,允许用户选择将 MapReduce 任务提交至哪个队列
- 新增对“-Xms”选项的支持,用于改进与 ORAAH 一同运行的 rJava JVM 内存的配置
- ORAAH R Formula 引擎引入了对以下要素的支持:
- 主要统计分布,通过密度、累积密度、分位数和随机偏差函数实现以下分布:贝塔、二项式、柯西、卡方、指数、F-分布、伽马、几何、超几何、对数正态、正态、泊松、学生 t、三角形、均匀、韦伯和威布尔
- 特殊函数:gamma(x)、lgamma(x)、digamma(x)、trigamma(x)、lanczos(x)、factorial(x)、lfactorial(x)、lbeta(a, b)、lchoose(n, k) — 二项式系数的自然对数
- 新的聚合函数:avg(colExpr)(与 mean(colExpr) 相同)、max(colExpr)、min(colExpr)、sd(colExpr)(与 stddev(colExpr) 相同)、sum(colExpr), variance(colExpr) (与 var(colExpr) 相同)、kurtosis(colExpr)、skewness(colExpr)(其中,colExpr 是一个任意(可能非线性)列表达式)。
继续发挥 ORAAH 的强大优势
- 提供一个通用计算框架,支持用户在 R 中调用并行的分布式 MapReduce 作业,在 R 中编写自定义 Mapper 和 Reducer,同时利用开源 CRAN 软件包。在输入数据的二进制 RData 表示的支持下,基于 R 的 MapReduce 作业在 I/O 性能上与基于纯 Java 的 MapReduce 程序不分仲伯。
- 并行的分布式机器学习算法利用 Hadoop 集群的所有节点对大数据进行可扩展的高性能建模。算法包括线性回归、广义线性模型、神经网络、低秩矩阵分解、非负矩阵分解、k 均值聚类、主成分分析和多变量分析。函数使用针对 Spark 并行执行优化的表达式 R 公式对象。
- R 函数使用 R 公式规范和分布式模型矩阵数据结构在 ORAAH 框架内封装 Apache Spark MLlib 算法。ORAAH 的 MLlib R 函数可以在 Hadoop 集群(它使用 YARN 动态形成 Spark 集群)上执行,也可以在专用的独立 Spark 集群上执行。
同样出色的大规模 R 分析平台:
有关更多详细信息,请参阅
这篇博文。
LM 和 GLM 算法的示例性能数据均在相同的硬件和相同的 Spark 设置下针对相同的 Spark MLlib 算法得出。
R 提供的基于 Spark(和 MPI)的 ORAAH 高性能算法(源数据可以是 HIVE 表、Spark DataFrames 或 HDFS 中的 CSV)
- 线性回归 — orch.lm2()
- 逻辑回归 — orch.glm2()
- 多层感知器神经网络 — orch.neural2()
- 极限学习机 (ELM) — orch.elm()
- 分层 ELM — orch.helm()
- 分布式随机 PCA — orch.dspca()
- 分布式随机 SVD — orch.dssvd()
ORAAH 中的 R 提供的一组 Apache Spark MLlib 算法(源数据可以是 HIVE 表、Spark DataFrames 或 HDFS 中的 CSV) - 梯度提升树 — orch.ml.gbt()
- 高斯混合模型 — orch.ml.gmm()
- 线性回归 — orch.ml.linear()
- LASSO — 最小绝对收缩和选择算子 — orch.ml.lasso()
- 岭回归 — orch.ml.ridge()
- 逻辑回归 — orch.ml.logistic()
- 决策树 — orch.ml.dt()
- 随机森林 — orch.ml.random.forest()
- 支持向量机 — orch.ml.svm()
- k 均值聚类 — orch.ml.kmeans()
- 主成分分析 — orch.ml.pca()
ORAAH Spark MLlib 算法的特性
为了支持 Apache Spark 的新机器学习算法,新版本提供了一些特殊函数:
更新后的 predict() 函数使用基于 Spark 的模型对新数据集进行评分。
新的 hdfs.write() 函数允许将 Spark RDD 和 Data Frames 返回的模型对象和预测结果写入 HDFS。
新的 orch.save,model() 和 orch.load.model() 函数可以保存并加载 Model 对象,可以使用这些对象通过 Spark 对相同或其他集群上的新数据集进行评分
ORAAH 包含一个分布式模型矩阵引擎和一个分布式公式解析器,它们与所有基于 Spark MLlib 的算法接口结合使用,大大提高了性能并增强了与 R 之间的功能兼容性(严格遵循 R 公式语法)。分布式模型矩阵在内部存储为弹性分布式数据集 (Spark RDD)。
其他 ORAAH 平台更新 支持 Cloudera Distribution of Hadoop (CDH) 5.14.2 版。支持“经典”MR1 和 YARN MR2 API。
有关更多信息,请参见
ORAAH 2.8.0 更改列表和
ORAAH 2.8.0 版本说明文档。
ORAAH 系列博客文章的第一部分提供了基于 ORAAH Spark 的算法的执行速度的更多示例:
Oracle R Advanced Analytics for Hadoop 性能显著提升:基于 Spark 的逻辑回归和 MLP 神经网络