將函式傳遞給Spark

2021-09-30 01:12:59 字數 762 閱讀 6382

object myfunctions 

}myrdd.

map(myfunctions.func1)

請注意,雖然也可以在類例項中傳遞對方法的引用(與單例物件相對),但這需要將包含該類的物件與方法一起傳送。例如,考慮:

class

myclass

def dostuff

(rdd: rdd[string]

): rdd[string]

=}

在這裡,如果我們建立乙個新的myclass例項,並呼叫dostuff就可以了,map裡面有引用的func1方法是的myclass例項,所以需要傳送到群集的整個物件。它類似於寫作rdd.map(x => this.func1(x))

以類似的方式,訪問外部物件的字段將引用整個物件

class

myclass

}

等同於寫作rdd.map(x => this.field + x),它引用了所有內容this。為避免此問題,最簡單的方法是將其複製field到區域性變數中,而不是從外部訪問它

def dostuff

(rdd: rdd[string]

): rdd[string]

=

本文參考spark官網

將陣列傳遞給函式

一維陣列 傳遞陣列給函式的3個原則 1.函式呼叫時只需傳遞陣列名。2.在函式定義中,形參的型別必須與陣列的相同,陣列的大小不必指定。3.函式原型必須定義為引數是乙個陣列。include include voidsort intx,intm intmain printf marks before so...

c 成員函式可以將this傳遞給普通函式

include using namespace std class c 必須先申明c void print c c 必須在c的定義之前宣告print class c void call void print c t int main this指標是可以被delete的,delete之後可以訪問成員方...

指標將引數傳遞給函式的過程分析

在mfc框架下,展示了位址傳遞方式參與函式運算的過程。void test int pmn int main 執行結果 atltracegeneral p 0x4febb0 atltracegeneral p 0x4febbc atltracegeneral p 0x14 atltracegenera...