JAVA spark创建DataFrame的方法

网友投稿 646 2022-11-24


JAVA spark创建DataFrame的方法

述说正传,接下来开始说正事。

以前用python和Scala操作Spark的时候比较多,毕竟Python和Scala代码写起来要简洁很多。

今天一起来看看java版本怎么创建DataFrame,代码写起来其实差不多,毕竟公用同一套API。测试数据可以参考我之前的文章。

先来总结下Spark的一般流程:

1,先创建Spark基础变量,spark,sc

2,加载数据,rdd.textFile,spark.read.csv/json等

3,数据处理,mapPartition, map,filter,reduce等一系列transformation操作

4,数据保存,saveAstextFile,或者其他DataFrame方法

祭出代码

package dev.java;

import dev.utils.Utils;

import org.apache.spark.api.java.JavaRDD;

import org.apache.spark.api.java.JavaSparkContext;

import org.apache.spark.sql.Dataset;

import org.apache.spark.sql.Row;

import org.apache.spark.sql.RowFactory;

import org.apache.spark.sql.SparkSession;

import org.apache.spark.sql.types.StructType;

import scala.Tuple2;

import java.util.List;

public class Spark1 {

private static final String fileData = "seed";

private static final String fileSave = "result";

private static SparkSession spark = SparkSession.builder()

.appName("Java-Spark")

.master("local[*]")

.config("spark.default.parallelism", 100)

.config("spark.sql.shuffle.partitions", 100)

.config("spark.driver.maxResultSize", "3g")

.getOrCreate();

private static JavaSparkContext sc = JavaSparkContext.fromSparkContext(spark.sparkContext());

public static void main(String[] args) {

Utils.delete(fileSave);

//

t1();

}

private static void t1() {

JavaRDD rdd = scUSlGwCoO.textFile(fileData)

.map(v -> {

String[] parts = v.split("\t");

return RowFactory.create(parts[0], Long.parseLong(parts[1http://]));

})

.filter(v -> v.getLong(1) >= 1http://0000)

.sortBy(v -> v.getLong(1), false, 100)

.coalesce(2);

Dataset df = spark.createDataFrame(rdd, StructType.fromDDL("title string, qty long"));

df.write().csv(fileSave);

spark.stop();

}

}

以上就是JAVA操作spark创建DataF

rame的方法的详细内容,更多关于JAVA Spark 创建DataFrame的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java HashMap实现原理分析(一)
下一篇:Java中求最大值的4种方法实例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~