2016-11-24 102 views
3

傳遞sqlContext作爲隱含參數我有,當我嘗試調用從火花殼這個功能我這樣稱呼它在星火

f(1) 
它具有以下特徵

def f(v1:Int)(implicit sqlContext: SQLContext) 

Scala的對象的函數

我希望現有的sqlContext隱式傳遞給它,但它沒有。我怎樣才能讓它工作,以便sqlContext自動傳遞給這個函數?

--------------更新-------------------

我試圖導入sqlContext.implicits。 _在呼喚我的功能之前,火花外殼,但它並沒有幫助

+0

我有同樣的問題,你最終弄清楚了嗎? – Avision

回答

5

你只需要隱式添加SQLContext到您所呼叫的功能相同的情況下:

implicit val sqlContext = new SQLContext() // just an example 
// and then 
f(1) 

如果您正在使用apacha Spark,您可以使用此導入:

import sqlContext.implicits._ 
+0

但它殺死了整個目的。我試圖讓它對用戶不可見,所以用戶調用調用我的函數而不將sqlContext定義爲隱式,否則我可以將sqlContext作爲普通參數傳遞。 –

+0

我嘗試在spark-shell中導入,但它並沒有幫助! –

+0

用戶必須以某種方式提供上下文。我假設你在使用Spark,是嗎? –