最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

述說(shuō)正傳,接下來(lái)開(kāi)始說(shuō)正事。

以前用Python和Scala操作Spark的時(shí)候比較多,畢竟Python和Scala代碼寫(xiě)起來(lái)要簡(jiǎn)潔很多。

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

先來(lái)總結(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的方法的詳細(xì)內(nèi)容,更多關(guān)于JAVA Spark 創(chuàng)建DataFrame的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring框架AOP基礎(chǔ)之代理模式詳解

    Spring框架AOP基礎(chǔ)之代理模式詳解

    代理模式(Proxy Parttern)為一個(gè)對(duì)象提供一個(gè)替身,來(lái)控制這個(gè)對(duì)象的訪問(wèn),即通過(guò)代理對(duì)象來(lái)訪問(wèn)目標(biāo)對(duì)象。本文將通過(guò)示例詳細(xì)講解一下這個(gè)模式,需要的可以參考一下
    2022-11-11
  • 詳解Java中Callable和Future的區(qū)別

    詳解Java中Callable和Future的區(qū)別

    這篇文章主要介紹了Java中Callable和Future的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-11-11
  • SpringBoot+ENC實(shí)現(xiàn)密鑰加密的使用示例

    SpringBoot+ENC實(shí)現(xiàn)密鑰加密的使用示例

    本文主要介紹了SpringBoot+ENC實(shí)現(xiàn)密鑰加密的使用示例,主要是為了將配置信息從應(yīng)用程序代碼中分離出來(lái),以提高安全性和可維護(hù)性,感興趣的可以了解一下
    2024-07-07
  • 解決@RequestBody搭配@Data的大坑

    解決@RequestBody搭配@Data的大坑

    這篇文章主要介紹了解決@RequestBody搭配@Data的大坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 樹(shù)莓派.GPRS.短信接收器

    樹(shù)莓派.GPRS.短信接收器

    這篇文章主要介紹了樹(shù)莓派.GPRS.短信接收器的相關(guān)知識(shí),需要的朋友可以參考下
    2017-10-10
  • JPA @Query時(shí),無(wú)法使用limit函數(shù)的問(wèn)題及解決

    JPA @Query時(shí),無(wú)法使用limit函數(shù)的問(wèn)題及解決

    這篇文章主要介紹了JPA @Query時(shí),無(wú)法使用limit函數(shù)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 解決Weblogic部署war找不到spring配置文件的問(wèn)題

    解決Weblogic部署war找不到spring配置文件的問(wèn)題

    這篇文章主要介紹了解決Weblogic部署war找不到spring配置文件的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2021-07-07
  • Java線程實(shí)現(xiàn)的三種方式詳細(xì)解析

    Java線程實(shí)現(xiàn)的三種方式詳細(xì)解析

    這篇文章主要介紹了Java線程實(shí)現(xiàn)的三種方式詳細(xì)解析,Java多線程實(shí)現(xiàn)方式主要有三種,繼承Thread類、實(shí)現(xiàn)Runnable接口、使用ExecutorService、Callable、Future實(shí)現(xiàn)有返回結(jié)果的多線程,需要的朋友可以參考下
    2023-12-12
  • SpringMVC框架使用jackson封裝數(shù)據(jù)過(guò)程中遇到的問(wèn)題及解決

    SpringMVC框架使用jackson封裝數(shù)據(jù)過(guò)程中遇到的問(wèn)題及解決

    這篇文章主要介紹了SpringMVC框架使用jackson封裝數(shù)據(jù)過(guò)程中遇到的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • java實(shí)現(xiàn)用戶簽到BitMap功能實(shí)現(xiàn)demo

    java實(shí)現(xiàn)用戶簽到BitMap功能實(shí)現(xiàn)demo

    這篇文章主要為大家介紹了java實(shí)現(xiàn)用戶簽到BitMap功能實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評(píng)論

温泉县| 翁源县| 栾川县| 田林县| 平江县| 长宁县| 巴青县| 万盛区| 城口县| 肥城市| 安达市| 安新县| 东乌| 宜君县| 光山县| 搜索| 纳雍县| 大安市| 安宁市| 朝阳区| 乐平市| 石棉县| 岳普湖县| 南木林县| 栾川县| 黎平县| 乌什县| 铜鼓县| 宝鸡市| 景宁| 东乌| 乌拉特前旗| 英德市| 清河县| 新余市| 家居| 郸城县| 长葛市| 桂林市| 五华县| 弥渡县|