1. 程式人生 > >關於DataSet和DataFrame

關於DataSet和DataFrame

剛才開始看SparkSql,把看過程中的瞭解的東西行記下來

1,關於型別方面:

  • DataSet是帶有型別的(typed),例:DataSet<Persono>。取得每條資料某個值時,使用類似person.getName()這樣的API,可以保證型別安全。
  • 而DataFrame是無型別的,是以列名來作處理的,所以它的定義為DataSet<Row>。取得每條資料某個值時,可能要使用row.getString(0)col("department")這樣的方式來取得,無法知道某個值的具體的資料型別。

2,關於schema。DataFrame帶有schema,而DataSet沒有schema。schema定義了每行資料的“資料結構”,就像關係型資料庫中的“列”,schema指定了某個DataFrame有多少列。