java - Apache Spark 使用java(分区)

标签 java apache-spark

我正在尝试手动创建分区,而不是 apache Spark 根据可用性自行创建分区。

有人可以帮我编写正确的分区代码吗?

我尝试使用:JavaRDD distdata = sc.parallelize(data, 2);

不起作用,我使用的是具有高 RAM 的 GPU,默认情况下占用 122 个分区,这是我不想要的。我正在寻找分区较少的手动内容。

 File file = new File("dataset/adult.txt");
    JavaSparkContext context = new JavaSparkContext("local","SparkAnonymize");
    JavaRDD<String> data = context.textFile(file.getPath(),2);
    JavaRDD<String> distdata = sc.parallelize(data, 2);
    list = data.top((int)data.count());

最佳答案

使用repartition如果您不想使用 Spark 的默认并行性,则可以使用分区文件的函数

像这样JavaRDD<String> data = context.textFile(file.getPath()).repartition(2);

这应该有效!!

关于java - Apache Spark 使用java(分区),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51933320/

相关文章:

jvm - Java HotSpot中内部方法的汇编实现代码在哪里?

java - 使用 Jackson 验证列表元素

java - 在 Android 应用程序中调用 java 客户端

python - Spark 笛卡尔积

apache-spark - java.lang.UnsupportedOperationException : 'Writing to a non-empty Cassandra Table is not allowed

java - SecureSocial 库中缺少 securesocial.core.Identity?

java - JAX-RS:是否可以有一个外部可配置的@PATH?

scala - 使用 Spark 并行缓存和查询数据集

java - 使用旧版本运行 Apache Spark 最新版本的集群

java - 如何使用java中的spark以word格式查看LDA主题建模中的主题