S-JIS[2017-01-15] 変更履歴
Apache SparkのDatasetで使用するColumnクラスについて。
|
|
Columnはデータのカラムを表すクラス。
Dataset(やDataFrame)のメソッドを呼び出すときによく使用する。
Columnはカラム名を保持するだけでなく、演算式も保持することが出来る。
カラム名のみを保持するのはColumnNameクラス。
Columnにデータ型を付けるとTypedColumnになる。
生成方法 | 例 |
---|---|
Datasetから取得する方法。 | val c = ds.col("name") |
val c = ds.apply("name") |
|
ColumnNameを生成する方法。 | import org.apache.spark.sql.ColumnName |
$を使ってColumnNameを生成する方法。 (SQLImplicitsに$の文字列補間のクラスが定義されている) |
import spark.implicits._ |
sql.functionsを使って生成する方法。 | import org.apache.spark.sql.functions._ |
Columnにデータ型を付けるとTypedColumnが生成できる。 | val tc = c.as[String] |
Columnは演算式を保持することが出来る。
(主にDatasetのselectやwhereで使用する)
生成方法 | 例 |
---|---|
sql.functionsを使って生成する方法。 | import org.apache.spark.sql.functions._ |
Columnの演算用メソッドを呼び出す方法。 基本的な演算メソッドはだいたい揃っている。 (等値比較は === や=!= で行う。== や!= は通常のScalaで定義されているものだから) |
import spark.implicits._ |