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._ |