博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
源码中的哲学——通过构建者模式创建SparkSession
阅读量:6368 次
发布时间:2019-06-23

本文共 848 字,大约阅读时间需要 2 分钟。

spark2.2在使用的时候使用的是SparkSession,这个SparkSession创建的时候很明显的使用了创建者模式。通过观察源代码,简单的模拟了下,可以当作以后编码风格的参考:

官方使用

import org.apache.spark.sql.SparkSessionval spark = SparkSession  .builder()  .appName("Spark SQL basic example")  .config("spark.some.config.option", "some-value")  .getOrCreate()// For implicit conversions like converting RDDs to DataFramesimport spark.implicits._

自己写的小例子,模拟一下:

package xingoo.coreobject SparkSessionBuilderExample {  def main(args: Array[String]): Unit = {    SparkSession      .builder()      .config("a","1")      .config("b","2")      .getOrCreate()  }}object SparkSession{  // 创建者模式  class Builder{    def config(key:String, value:String):Builder = {      println(key+"-->"+value)      this    }    def getOrCreate():Unit = {      println("创建成功!")    }  }  def builder(): Builder = new Builder}

很好的风格!

可以得到输出:

a-->1b-->2创建成功!

转载地址:http://krema.baihongyu.com/

你可能感兴趣的文章
Java中List Set Map 是否有序等总结
查看>>
Android:学习AIDL,这一篇文章就够了(上)
查看>>
iOS 面试题
查看>>
java 读取excel 正常 xls
查看>>
sqlalchemy 获取计数 count
查看>>
从CMOS到触发器(二)
查看>>
linux 时间同步的2种方法
查看>>
python __setattr__和__getattr__
查看>>
Redis(什么是Redis?)
查看>>
Linux下双物理网卡设置成虚拟网卡
查看>>
Java Swing界面编程(25)---事件处理:鼠标事件及监听处理
查看>>
改动wordpress默认发邮件邮箱地址
查看>>
【C语言】递归函数DigitSum(n)
查看>>
【VBA研究】用VBA取得EXCEL随意列有效行数
查看>>
【SPOJ-GSHOP】Rama and Friends【贪心】【细节】
查看>>
kafka入门
查看>>
kafka学习笔记
查看>>
Docker for Windows使用简介
查看>>
CentOS开机自动运行程序的脚本
查看>>
如何扩展Orchard
查看>>