package cn.edu360
import j**a.io.
/*** created by zx on 2017/6/25.
*/class maptask extends serializable
def m2(line: string): array[string] =
}object sertask
/*** created by zx on 2017/6/25.
*/object sertest )
r.s**eastextfile(args(1))
sc.stop()
}輸入檔案有6個,6個分割槽形成6個task
直接分區內new資料
//val rules = rules 實現序列化之後化伴隨著task傳送出去,同乙個task用一同乙個類,不同task用的不用的類,如果類再定義成了object靜態類,就可以實現多個task用同乙個類。和driver端的hashcode值是不一樣的,反序化後變成了乙個新的類,位址不同
1 只實現序列化
2 實現序列化並靜態類
在excutor端列印
和廣播變數的區別
廣播變數在driver 端收集,然後廣播出去,如果我收集過來,依次廣播到我的excutor,如果我的excutor比較多,它就廣播的特別慢,
現在這個是每個excutor只傳送一部分,excutor和excutor之間可以相互的通訊傳輸,以後獲取規則的時候更快。
面試:這個廣播變數是不是一廣播出去,是不是不能更改了?是的。廣播的規則一般是不變得規則。
還有一種方式,把規則寫入在外部得redis中,spark經常和redis結合,redis記憶體讀資料,比map更強大。
多執行緒問題
乙個excutor裡可以多個task同時執行,有可能同時讀同乙個檔案,就出現了多執行緒安全問題
把這個時間轉換一下,如何轉?
序列化問題
對於ajax來說,只能接收字串,那麼我們在後台的關鍵問題是,如何才能將我們要傳入的資料序列化,使之成為ajax可以接收的資料型別呢?json模組是乙個序列化的辦法,然而json只能序列化python的三大資料型別,元組,列表,字典,對於其他的資料型別,json並不能為我們序列化,那麼我們應該怎麼辦呢...
序列化(序列化)
原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...
序列化(模型序列化 序列化巢狀)
from rest framework import serializers from meituan.models import merchant,class merchantserializer serializers.modelserializer class meta model merch...