论坛首页 入门技术论坛

DataVec/执行器

浏览 1888 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2018-10-10  

本地还是远程执行?

 因为数据集通常是大的,所以你可以决定最适合您需要的执行机制。例如,如果您正在对大型培训数据集进行向量化,则可以在分布式spark集群中处理它。但是,如果需要进行实时推理,数据向量还提供不需要任何附加设置的本地执行器。

执行一个转换过程

 

一旦你已经用概要创建了你的转换过程,并且你已经加载你的数据到了一个  Apache Spark JavaRDD或有一个记录读取器来加载你的数据集,你可以执行一个转换 。

本地执行如下: 

import org.datavec.local.transforms.LocalTransformExecutor;

List<List<Writable>> transformed = LocalTransformExecutor.execute(recordReader, transformProcess)

List<List<List<Writable>>> transformedSeq = LocalTransformExecutor.executeToSequence(sequenceReader, transformProcess)

List<List<Writable>> joined = LocalTransformExecutor.executeJoin(join, leftReader, rightReader)

当使用Spark的时候看起来是这样子的:

import org.datavec.spark.transforms.SparkTransformExecutor;

JavaRDD<List<Writable>> transformed = SparkTransformExecutor.execute(inputRdd, transformProcess)

JavaRDD<List<List<Writable>>> transformedSeq = SparkTransformExecutor.executeToSequence(inputSequenceRdd, transformProcess)

JavaRDD<List<Writable>> joined = SparkTransformExecutor.executeJoin(join, leftRdd, rightRdd)

可用的执行器


LocalTransformExecutor 本地转换执行器

[源码]

 

isTryCatch
public static boolean isTryCatch() 

 

用给定的输入数据执行指定的转换过程

注意:这个方法仅在转换过程返回一个非序列数据的时候可以用。对于返回序列的转换过程,使用{- link #executeToSequence(List, TransformProcess)}

 

 

  • 参数 inputWritables 是要处理的输入数据 Input data to process
  • 参数 transformProcess 是要执行的转换过程
  • 返回处理过的数据

SparkTransformExecutor Spark转换执行器

[源码]

数spark的弹性数据集上执行一个数据向量转换过程

 

isTryCatch
public static boolean isTryCatch() 
  •  不赞成在SparkTransformExecutor用静态方法替代实例方法。

 有任何问题请联系微信 

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

     

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics