使用
运算,就像一个函数,帮我们执行一个转换并加载数据到数据向量。运算的概念是很底层的,这意味着大多数时间你不需要关心它们。
加载数据到Spark如果你正在使用Apache Spark,函数将迭代数据集并加载它到一个Spark RDD
里并把原始数据转换为一个Writable。
import org.datavec.api.writable.Writable;
import org.datavec.api.records.reader.impl.csv.CSVRecordReader;
import org.datavec.spark.transform.misc.StringToWritablesFunction;
SparkConf conf = new SparkConf();
JavaSparkContext sc = new JavaSparkContext(conf)
String customerInfoPath = new ClassPathResource("CustomerInfo.csv").getFile().getPath();
JavaRDD<List<Writable>> customerInfo = sc.textFile(customerInfoPath).map(new StringToWritablesFunction(rr));
以上代码加载一个CSV文件到一个 2D java RDD。一旦你的RDD被加载,你可以转换它,执行连接并使用缩减器以任何方式处理数据。
可用的运算
AggregableCheckingOp 可聚合检查运算
Created by huitseeker on 5/8/17.
AggregableMultiOp 可聚合多运算
在相同的列上以并行方式来执行一些降维运算
Created by huitseeker on 5/8/17.
ByteWritableOp
支持转换为字节码运算
Created by huitseeker on 5/14/17.
DispatchOp
Created by huitseeker on 5/14/17.
DispatchWithConditionOp 有条件分派运算
Created by huitseeker on 5/14/17.
DoubleWritableOp
支持转换为双精度类型运算
Created by huitseeker on 5/14/17.
FloatWritableOp
支持转换为浮点类型运算
Created by huitseeker on 5/14/17.
IntWritableOp
支持转换为整型运算
Created by huitseeker on 5/14/17.
LongWritableOp
支持转换为长整型运算
Created by huitseeker on 5/14/17.
StringWritableOp
支持转换为TextWritable运算
Created by huitseeker on 5/14/17.
CalculateSortedRank
计算每个实例在排序之后的排名。例如,我们可能有一些数字“分数”列,并且我们想知道每个实例按列的排序。每个实例的排名将会添加到一个新的长整型列。从0开始索引;实列将有0到数据大小减一的值。当前CalculateSortedRank只能应用在一个标准的(非序列)数据上。此外当前的实现只能在一个列上排序。
transform
public Schema transform(Schema inputSchema)
- 参数newColumnName是新列的名称(将包括每个实例的排名)
- 参数sortOnColumn是用来排序的列名
- 参数comparator是用来排序实例的比较器
outputColumnName
public String outputColumnName()
运算应用后的输出列名
- 返回输出列名
columnName
public String columnName()
输出列名,这通常与输入列名一样。
- 返回输出列名
有任何问题请联系微信
相关推荐
- **张量运算**: ND4J提供了丰富的张量运算接口,类似NumPy的功能。 - **内存管理**: 为了提高性能,ND4J采用了堆外内存存储张量对象,而堆上内存仅用于存储对象的引用或指针。 - **BLAS实现**: 后端使用BLAS库进行...
ND4J :通用线性代数库,具有500多种数学,线性代数和深度学习运算。 ND4J基于高度优化的C ++代码库LibND4J,它通过OpenBLAS,OneDNN(MKL-DNN),cuDNN,cuBLAS等库提供对CPU(AVX2 / 512)和GPU(CUDA)的支持和...
它允许开发者在CPU或GPU上执行大规模的矩阵运算,是构建深度学习模型的基础。在书中,读者将学习如何利用ND4J创建和操作多维数组,以及如何实现神经网络中的基本数学操作。 DL4J(Deep Learning for Java)是构建于...
GCC(GNU Compiler Collection)的安装也是必要的步骤,特别是在使用CUDA进行深度学习运算时。由于CUDA 8需要特定版本的GCC进行编译,因此需要确保系统中安装了正确的版本。安装GCC时,可以通过yum命令安装包含开发...
同时,DL4J还与ND4J库紧密集成,提供了高效的多维数组运算,类似于Python中的NumPy。 在使用这个压缩包时,你需要将“libs”目录下的所有jar文件添加到你的项目类路径中。这通常可以通过设置IDE的构建路径或者在...