示例資料和程式碼
示例資料
請嘗試以答案可直接使用的格式提供最小示例輸入資料,而無需繁瑣耗時的解析,例如輸入檔案或本地集合以及建立分散式資料結構所需的所有程式碼。
適用時始終包含型別資訊:
- 在基於 RDD 的 API 中,在必要時使用型別註釋。
- 在基於 DataFrame 的 API 中,提供架構資訊作為
StrucType
或Dataset.printSchema
的輸出。
Dataset.show
或 print
的輸出看起來不錯,但沒有告訴我們任何關於底層型別的資訊。
如果特定問題僅在規模上發生,則使用隨機資料生成器(Spark 在 org.apache.spark.mllib.random.RandomRDDs
和 org.apache.spark.graphx.util.GraphGenerators
中提供了一些有用的實用程式
碼
請儘可能使用型別註釋。雖然你的編譯器可以很容易地跟蹤型別,但對於凡人來說這並不容易。例如:
val lines: RDD[String] = rdd.map(someFunction)
要麼
def f(x: String): Int = ???
比以下更好:
val lines = rdd.map(someFunction)
和
def f(x: String) = ???
分別。