当spark序列化程序与Dataframe API一起使用时

时间:2018-06-07 20:42:05

标签: apache-spark apache-spark-sql

如果我的应用使用DataFrame API,我想知道何时使用@import url('https://fonts.googleapis.com/css?family=Playfair+Display:400,400i,700,700i,900,900i'); @import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i'); html, body { height: 100%; width: 100%; margin: 0; padding: 0; background-color:#eaeaea;} .container { width:900px; height:550px; background-color:white; position: absolute; top:0; bottom: 0; left: 0; right: 0; margin: auto;} .right-div { width:540px; height:550px; background-image:url(); transform:scale(1); background-position: -170px 0px; background-size:cover; position: absolute; top:0; bottom: 0; right: 0; margin: auto;} .left-div { width:323px; height:550px; background-color:white; position: absolute; top:0; bottom: 0; left: 0; margin: auto;} .content-name { font-family: 'Open Sans', sans-serif; letter-spacing: 3px; font-size: 10px; text-transform: uppercase; color: #7E7E7E; font-weight: 700; margin-top:160px; margin-left:40px;} .content-title { font-family: 'Playfair Display', serif; font-size: 44px; letter-spacing: 3px; font-weight: 700; color: #2C2C2C; margin-top:10px; margin-left:40px;} .content-description { margin-top: -20px; font-family: 'Open Sans', sans-serif; font-size: 13px; color: #7e7e7e; line-height: 22px; margin-left:40px;} .content-link { position:absolute; margin-top:20px; color: #2C2C2C; font-family: 'Open Sans', sans-serif; letter-spacing: 3px; font-size: 11px; text-transform: uppercase; font-weight: 700; text-decoration: none; margin-left:40px;} /*Flip*/ .flip-container { -webkit-perspective: 1000; position: fixed; top: 50%; left: 50%; /* bring your own prefixes */ transform: translate(-50%, -50%);} .flip-container:hover .flipper, .flip-container.hover .flipper { -webkit-transform: rotateY(180deg);} .flip-container, .front, .back { width: 900px; height: 550px;} .flipper { -webkit-transition: 0.6s; -webkit-transform-style: preserve-3d; position: relative;} .front, .back { -webkit-backface-visibility: hidden; position: absolute; top:0; bottom: 0;} .front { z-index: 2;} .back { -webkit-transform: rotateY(180deg); background: white;}

如果我理解得很好:

  • 不用于缓存或改组。
  • 仅用于闭包序列化和广播变量。

这是对的吗?

1 个答案:

答案 0 :(得分:0)

使用 RDD 时,

spark.serializer 有用,并用于在工作,检查点,序列化之间对数据进行洗牌 RDD 到磁盘等

DataFrame 拥有自己的用于缓存的列式存储空间。因此 spark.serializer 根本没有任何影响。

Spark使用 spark.closure.serializer 用于序列化闭包和广播变量,这是一个JavaSerializer。

回答你的观点

  1. 是。由于Dataframe使用它自己的列式存储来进行缓存。因此 spark.serializer 没有影响。

  2. 没有。对于闭包和广播变量序列化,使用 spark.closure.serializer 下的 closureSerializer ,这是 JavaSerializer