java - 如何从Spark中的序列文件中提取行的范围?

标签 java hadoop apache-spark rdd sequencefile

假设我有一个很大的序列文件,但是我只想在本地处理前1000行。我怎样才能做到这一点?

目前我的代码看起来像这样

JavaPairRDD<IntWritable,VectorWritable> seqVectors = sc.sequenceFile(inputPath, IntWritable.class, VectorWritable.class);

最佳答案

您应该做的是这些parallelizearray:

JavaPairRDD<IntWritable,VectorWritable> RDDwith1000 = sc.parallelize(seqVectors.take(1000));

参见here及以下的简单示例:

enter image description here

关于java - 如何从Spark中的序列文件中提取行的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747036/

相关文章:

java - 适用于 Android 的 Spring : REST server

java - 用Java与本地网络之外的计算机连接

java - Java 中的方法帮助

java - 是什么导致 AWTEventMulticaster.mouseEntered() 无限递归?

java - Spark 中的嵌套并行化?正确的做法是什么?

scala - 如何将数组或向量列分成多列?

apache-spark - 在无限流中计数不同

java - 在hadoop映射器中使用字符串拆分失败

hadoop - 在级联中删除 outputPath

java - 具有递归 Map 的 Hadoop MapReduce