本文整理汇总了Java中org.apache.spark.util.LongAccumulator.value方法的典型用法代码示例。如果您正苦于以下问题:Java LongAccumulator.value方法的具体用法?Java LongAccumulator.value怎么用?Java LongAccumulator.value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.spark.util.LongAccumulator
的用法示例。
在下文中一共展示了LongAccumulator.value方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeRDDtoHDFS
import org.apache.spark.util.LongAccumulator; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public static long writeRDDtoHDFS( RDDObject rdd, String path, OutputInfo oinfo )
{
JavaPairRDD<MatrixIndexes,MatrixBlock> lrdd = (JavaPairRDD<MatrixIndexes, MatrixBlock>) rdd.getRDD();
//piggyback nnz maintenance on write
LongAccumulator aNnz = getSparkContextStatic().sc().longAccumulator("nnz");
lrdd = lrdd.mapValues(new ComputeBinaryBlockNnzFunction(aNnz));
//save file is an action which also triggers nnz maintenance
lrdd.saveAsHadoopFile(path,
oinfo.outputKeyClass,
oinfo.outputValueClass,
oinfo.outputFormatClass);
//return nnz aggregate of all blocks
return aNnz.value();
}
示例2: create
import org.apache.spark.util.LongAccumulator; //导入方法依赖的package包/类
public static <A extends JavaRDDLike<?, ?>> VoidFunction<A> create(JavaStreamingContext jsc, long amount, String printf) {
final LongAccumulator stopAcc = jsc.ssc().sc().longAccumulator();
return rdd -> {
if (printf != null)
System.out.printf(printf, rdd.count());
if (rdd.count() == 0L) {
stopAcc.add(1L);
if (stopAcc.value() >= amount)
jsc.stop();
} else
stopAcc.reset();
};
}
示例3: main
import org.apache.spark.util.LongAccumulator; //导入方法依赖的package包/类
public static void main(String[] args) {
String tmpPath;
String master;
String inputPath;
String outputPath;
if (args.length == 0) {
System.setProperty("hadoop.home.dir", "C:\\Users\\VASILIS\\Documents\\hadoop_home"); //only for local mode
tmpPath = "/file:C:\\tmp";
master = "local[2]";
inputPath = "/file:C:\\Users\\VASILIS\\Documents\\OAEI_Datasets\\exportedBlocks\\testInput";
outputPath = "/file:C:\\Users\\VASILIS\\Documents\\OAEI_Datasets\\exportedBlocks\\testOutput";
} else {
tmpPath = "/file:/tmp/";
//master = "spark://master:7077";
inputPath = args[0];
outputPath = args[1];
// delete existing output directories
try {
Utils.deleteHDFSPath(outputPath);
} catch (IOException | URISyntaxException ex) {
Logger.getLogger(MetaBlockingOnlyValuesCBS.class.getName()).log(Level.SEVERE, null, ex);
}
}
String appName = "MetaBlocking CBS only values on "+inputPath.substring(inputPath.lastIndexOf("/", inputPath.length()-2)+1);
SparkSession spark = Utils.setUpSpark(appName, 288, 8, 3, tmpPath);
int PARALLELISM = spark.sparkContext().getConf().getInt("spark.default.parallelism", 152);
JavaSparkContext jsc = JavaSparkContext.fromSparkContext(spark.sparkContext());
////////////////////////
//start the processing//
////////////////////////
//Block Filtering
System.out.println("\n\nStarting BlockFiltering, reading from "+inputPath);
LongAccumulator BLOCK_ASSIGNMENTS_ACCUM = jsc.sc().longAccumulator();
BlockFilteringAdvanced bf = new BlockFilteringAdvanced();
JavaPairRDD<Integer,IntArrayList> entityIndex = bf.run(jsc.textFile(inputPath), BLOCK_ASSIGNMENTS_ACCUM);
entityIndex.cache();
//Blocks From Entity Index
System.out.println("\n\nStarting BlocksFromEntityIndex...");
LongAccumulator CLEAN_BLOCK_ACCUM = jsc.sc().longAccumulator();
LongAccumulator NUM_COMPARISONS_ACCUM = jsc.sc().longAccumulator();
BlocksFromEntityIndex bFromEI = new BlocksFromEntityIndex();
JavaPairRDD<Integer, IntArrayList> blocksFromEI = bFromEI.run(entityIndex, CLEAN_BLOCK_ACCUM, NUM_COMPARISONS_ACCUM);
blocksFromEI.persist(StorageLevel.DISK_ONLY());
blocksFromEI.count(); //the simplest action just to run blocksFromEI and get the actual value for the counters below
double BCin = (double) BLOCK_ASSIGNMENTS_ACCUM.value() / entityIndex.count(); //BCin = average number of block assignments per entity
final int K = Math.max(1, ((Double)Math.floor(BCin)).intValue()); //K = |_BCin -1_|
System.out.println(BLOCK_ASSIGNMENTS_ACCUM.value()+" block assignments");
System.out.println(CLEAN_BLOCK_ACCUM.value()+" clean blocks");
System.out.println(NUM_COMPARISONS_ACCUM.value()+" comparisons");
System.out.println("BCin = "+BCin);
System.out.println("K = "+K);
entityIndex.unpersist();
//CNP
System.out.println("\n\nStarting CNP...");
CNPCBSValuesOnly cnp = new CNPCBSValuesOnly();
JavaPairRDD<Integer,IntArrayList> metablockingResults = cnp.run(blocksFromEI, K);
metablockingResults
.mapValues(x -> x.toString()).saveAsTextFile(outputPath); //only to see the output and add an action (saving to file may not be needed)
System.out.println("Job finished successfully. Output written in "+outputPath);
}