使用 PyCharm 在本地机器上进行 Spark 开发

数据挖掘 pyspark
2021-09-21 17:22:30

我想知道其他开发人员在他们的 python spark 作业中使用的最佳实践是什么。我正在构建一个开发环境,我希望在 PyCharm 中编写代码,SparkContext 指向一个独立的集群,并能够从 PyCharm 或至少从命令行运行我的代码到集群上。我正在使用 Windows 8。

有这样设置的成功案例吗?推荐的设置/做法是什么?

1个回答

在我看来,我建议使用以下方法为大数据上下文开发 Spark 作业:

  • 首先,在您的计算机上以本地模式开发您的 spark。使用最终数据集中的简单数据子集。这种方式允许您使用您最喜欢的 IDE(jupiter notebook、PyCharm...)和小的计算延迟。这真的很适合火花工作的发展。
  • 其次,在本地模式下完成开发后,您可以使用 SSH 客户端或其他方式在集群上传输代码。你只需要改变你的火花上下文相关指令和输入/输出源。现在再次在一个小数据集上测试您的代码并纠正可能出现的一些问题。
  • 最后,一旦您的代码适合集群,您现在可以在整个大数据(如数据集)上使用它。

注意:在基于 Hadoop 的集群上,我建议以 HDFS ORC 格式存储您的数据。然后,您可以使用 Hive 顺利构建它,并使用 Spark 轻松读取或写入这些表。

注意:关于 SSH 客户端,我建议您使用 mobaXterm(基于 ssh 的 windows 客户端)轻松访问集群并拖放您的代码。要获取本地模式的一些数据子集,您可以使用“Toad for Hadoop”客户端,它使您可以直接在配置单元表上运行类似 SQL 的查询并以 CSV 或 Excel 格式提取数据。

注意:Spark Standalone 模式不适合更多的机器。对于大数据集,首选 yarn 或 mesos 集群方法。