java dataframe map_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 = sc.textFile(fileData)

.map(v -> {

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

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

})

.filter(v -> v.getLong(1) >= 10000)

.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创建DataFrame的方法的详细内容,更多关于JAVA Spark 创建DataFrame的资料请关注脚本之家其它相关文章!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值