详细内容或原文请订阅后点击阅览
PySpark 初学者:超越基础知识
采取下一步行动,在笔记本电脑上使用 Spark 构建真正的工作流程《面向初学者的 PySpark:超越基础知识》一文首先出现在《走向数据科学》上。
来源:走向数据科学在本系列中的《PySpark 初学者:掌握基础知识》中,您已经了解了 Spark 的核心:分布式数据、DataFrame 和延迟执行。您已经安装了 PySpark、启动了 SparkSession、读取了 CSV 并对 Dataframe 中的数据执行了简单的操作。我将在本文末尾留下该故事的链接。
原始文章中值得重复的一件事是,我经常互换使用术语 PySpark 和 Spark,但严格来说,Spark 是总体分布式计算框架(用 Scala 编写),而 PySpark 是 Spark 的专用 Python API。
超越基础
现在,当您度过初学者阶段时,会发生一些有趣的事情。您很快意识到您的第二个 PySpark 项目需要稍微不同的思维方式:
本文将引导您完成后续步骤。它故意节奏缓慢且实用。没有深入的内在。没有集群调整。没有复杂的 Spark 优化。这正是真正的初学者从玩具示例转向小型实际工作时需要了解的内容。
我们正在使用开源 Spark,在本地运行,就像以前一样。
1. 采取下一步:正确读取数据
在我的第一篇文章中,我们使用了最简单的 CSV 加载器:
df = Spark.read.csv("sales.csv", header=True, inferSchema=True)
它有效 - 并且对于早期实验来说很好 - ,但它隐藏了一个微妙的问题。
Spark 正在猜测您的数据类型
当您使用 inferSchema=True 指令时,Spark 会查看文件的一小部分样本,并使用该信息来猜测列是整数、字符串、布尔值还是双精度值。这意味着:
