DataVec/执行器

本地还是远程执行?

因为数据集通常是比较大的,所以你可以决定最适合你需要的执行机制。例如,如果你正在对大型训练数据集进行向量化,则可以在分布式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用静态方法替代实例方法。

 有任何问题请联系微信 

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

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值