示例数据和代码
示例数据
请尝试以答案可直接使用的格式提供最小示例输入数据,而无需繁琐耗时的解析,例如输入文件或本地集合以及创建分布式数据结构所需的所有代码。
适用时始终包含类型信息:
- 在基于 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) = ???
分别。