你好,我是蔡元楠。
这里是第二期答疑,上周我们结束了 Spark 部分的内容,时隔一周,我们的 Spark 案例实战答疑终于上线了。
通过 10 讲的 Spark 学习,相信你已经对 Spark 的基本特性有了深入的了解,也基本掌握了如何使用各类常用 API,如 RDD、DataSet/DataFrame、Spark Streaming 和 Structured Streaming。今天我将针对模块三中提出的一些共性留言做一个集中答疑。
我首先要为积极留言的同学们点个赞,感谢同学们亲自动手实践,有的同学还通过查阅官方 API 文档的形式找出了正确的实现方式,这非常值得鼓励。
第 18 讲
在第 18 讲中,kylin 同学留言问到,为什么用我们通篇用的是 DataFrame API 而不是 DataSet。这是因为 PySpark 的 SQL 库只有 DataFrame,并没有 DataSet。不过在 Scala 和 Java 中,DataSet 已经成为了统一的 SQL 入口。
斯盖丸同学问道,第 18 讲代码中 groupBy(‘value’) 中 value 是什么意思?
这里我说一下,SparkSession.read.text() 读取文件后生成的 DataFrame 只有一列,它的默认名字就是“value”。