DataVec/运算
使用
运算,就像一个函数,帮我们执行一个转换并加载数据到数据向量。运算的概念是很底层的,这意味着大多数时间你不需要关心它们。
加载数据到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()
输出列名,这通常与输入列名一样。
- 返回输出列名
有任何问题请联系微信