欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA spark創(chuàng)建DataFrame的方法

 更新時間:2020年08月31日 06:15:50   作者:凝望遠處的天鵝  
這篇文章主要介紹了JAVA spark創(chuàng)建DataFrame的方法,幫助大家更好的理解和學習spark,感興趣的朋友可以了解下

述說正傳,接下來開始說正事。

以前用Python和Scala操作Spark的時候比較多,畢竟Python和Scala代碼寫起來要簡潔很多。

今天一起來看看Java版本怎么創(chuàng)建DataFrame,代碼寫起來其實差不多,畢竟公用同一套API。測試數(shù)據(jù)可以參考我之前的文章。

先來總結(jié)下Spark的一般流程:

1,先創(chuàng)建Spark基礎(chǔ)變量,spark,sc

2,加載數(shù)據(jù),rdd.textFile,spark.read.csv/json等

3,數(shù)據(jù)處理,mapPartition, map,filter,reduce等一系列transformation操作

4,數(shù)據(jù)保存,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<Row> 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<Row> df = spark.createDataFrame(rdd, StructType.fromDDL("title string, qty long"));
    df.write().csv(fileSave);
    spark.stop();
  }
}

以上就是JAVA操作spark創(chuàng)建DataFrame的方法的詳細內(nèi)容,更多關(guān)于JAVA Spark 創(chuàng)建DataFrame的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java中的方法內(nèi)聯(lián)介紹

    Java中的方法內(nèi)聯(lián)介紹

    大家好,本篇文章主要講的是Java中的方法內(nèi)聯(lián)介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)之實現(xiàn)跳表

    Java數(shù)據(jù)結(jié)構(gòu)之實現(xiàn)跳表

    今天帶大家來學習Java數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,文中對用Java實現(xiàn)跳表作了非常詳細的圖文解說及代碼示例,對正在學習java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot解決@Component無法注入其他Bean的問題

    SpringBoot解決@Component無法注入其他Bean的問題

    這篇文章主要介紹了SpringBoot解決@Component無法注入其他Bean的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 你真的會使用Java的方法引用嗎

    你真的會使用Java的方法引用嗎

    這篇文章主要給大家介紹了關(guān)于Java方法引用的相關(guān)資料,方法引用是Java8的新特性,方法引用其實也離不開Lambda表達式,本文通過示例代碼介紹的很詳細,需要的朋友可以參考下
    2021-08-08
  • Spring?Boot實現(xiàn)文件上傳的兩種方式總結(jié)

    Spring?Boot實現(xiàn)文件上傳的兩種方式總結(jié)

    應(yīng)用開發(fā)過程中,文件上傳是一個基礎(chǔ)的擴展功能,它的目的就是讓大家共享我們上傳的文件資源,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Spring?Boot實現(xiàn)文件上傳的兩種方式,需要的朋友可以參考下
    2023-05-05
  • Java Spring集成MapStruct詳情

    Java Spring集成MapStruct詳情

    這篇文章主要介紹了Java Spring集成MapStruct詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • JavaWeb文件上傳下載實例講解(酷炫的文件上傳技術(shù))

    JavaWeb文件上傳下載實例講解(酷炫的文件上傳技術(shù))

    在Web應(yīng)用系統(tǒng)開發(fā)中,文件上傳功能是非常常用的功能,今天來主要講講JavaWeb中的文件上傳功能的相關(guān)技術(shù)實現(xiàn),本文給大家介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11
  • Java守護線程用法實例分析

    Java守護線程用法實例分析

    這篇文章主要介紹了Java守護線程用法,結(jié)合實例形式分析了java守護線程相關(guān)的原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-10-10
  • Java?ClassLoader虛擬類實現(xiàn)代碼熱替換的示例代碼

    Java?ClassLoader虛擬類實現(xiàn)代碼熱替換的示例代碼

    本文主要介紹了Java?ClassLoader虛擬類實現(xiàn)代碼熱替換的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • java application maven項目打自定義zip包實例(推薦)

    java application maven項目打自定義zip包實例(推薦)

    下面小編就為大家?guī)硪黄猨ava application maven項目打自定義zip包實例(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論