给定计算上下文,下表显示了可用的数据源(x 表示可用):
数据源 | RxLocalSeq | RxSpark | RxInSqlServer |
---|---|---|---|
RxTextData | X | X | |
RxXdfData | X | X | |
RxHiveData | X | X | |
RxParquetData | X | X | |
RxOrcData | X | X | |
RxOdbcData | X | ||
RxSqlServerData | X | X | |
RxSasData | X | ||
RxSpssData | X |
备注
在数据源类型中,您可能会发现取决于文件系统类型和计算上下文的差异。例如,在 Hadoop 分布式文件系统 (HDFS) 上创建的 .xdf 文件与在 Windows 或 Linux 等非分布式文件系统中创建的 .xdf 文件有些不同。有关详细信息,请参阅如何在 Spark 上使用 RevoScaleR。
revoscalepy 计算上下文
远程计算可用于选定平台上的特定数据源。下表记录了 revoscalepy 支持的组合。
上下文名称 | 别名 | 用法 |
---|---|---|
RxLocalSeq | 当地的 | 所有服务器和客户端配置都支持本地计算上下文。 |
rx-spark-connect | 火花 | 远程计算上下文。Target 是基于 Hadoop 分布式文件系统 (HDFS) 的 Spark 2.0-2.1 集群。 |
RxInSqlServer | sqlserver | 远程计算上下文。目标服务器是单个数据库节点(支持 Python 的 SQL Server 2017 机器学习)。计算是并行的,但不是分布式的。 |
每个计算上下文的数据源
给定计算上下文,下表显示了可用的数据源(x 表示可用):
数据源 | RxLocalSeq | rx-get-spark-connect | RxInSqlServer |
---|---|---|---|
RxTextData | X | X | |
RxXdfData | X | X | |
RxHiveData | X | X | |
RxParquetData | X | X | |
RxOrcData | X | X | |
RxSparkDataFrame | X | X | |
RxOdbcData | X | X | |
RxSqlServerData | X | X |
何时切换上下文
切换计算上下文的主要用例是将计算和分析带到数据本身。因此,远程计算上下文的用例利用数据库平台,例如 SQL Server,或位于使用 Spark 或 MapReduce 处理层的 Hadoop 分布式文件系统 (HDFS) 上的数据。
用例 | 描述 |
---|---|
客户端到服务器 | 在 R 客户端中本地编写和运行脚本,将特定计算推送到远程机器学习服务器实例。您可以将计算转移到具有更强大处理能力或数据库资产的系统。 |
服务器到服务器 | 将特定于平台的计算推送到不同平台上的服务器。支持的平台包括 SQL Server、Hadoop (Spark)。可以实现分布式处理架构:RxLocalSeq、RxSpark、RxInSqlServer。 |
上下文和分布式计算
RevoScaleR、MicrosoftML、revoscalepy 和 microsoftml 中的许多分析函数可以并行执行。在多核计算机上,此类功能运行多线程。在像 Hadoop 这样的分布式平台上,这些函数将工作负载执行分配到所有可用的内核和节点。这种能力转化为用于大数据预测和统计分析的高性能计算,并且是将计算上下文推送到远程 Hadoop 集群的主要动机。有关详细信息,请参阅机器学习服务器中的分布式和并行计算。