私は短いSparkスクリプトを書くためにScalaを使っていますが、私は何か変わったことに気付きました。 DataFrameを作成して操作を実行する場合は、何もインポートする必要はありません。たとえば、Scalaでは、戻り値の型として使用する場合にのみ、何かをインポートする必要がありますか?
val df = sqlContext.read.json("somePath")
df.show(false)
が正常に動作します。しかし、私はデータフレームを返すメソッドを書きたいならば、私は明示的に
import org.apache.spark.sql.DataFrame
def foo(path:String) : DataFrame = {
val df = ...
return df
}
Gotcha、ありがとう!私はreturn文を必要としないことを知っていましたが、javaプログラマとして、私はそれを含めて間違っていると感じています:) – alexgbelov
コンパイラに型を推測させ、DataFrameを省略させます。また、スパークシェルでは、いくつかの輸入品を無料で手に入れることができます。 https://github.com/apache/spark/blob/master/repl/scala-2.11/src/main/scala/org/apache/spark/repl/SparkILoop.scala#L39L68 –