![07999af21944436af50b0934688b3651.png](https://img-blog.csdnimg.cn/img_convert/07999af21944436af50b0934688b3651.png)
看过并按照我的上一篇文章
dante yu:Spark+Hadoop分布式集群架设攻略zhuanlan.zhihu.com![04329e9f4945e592c444e0a06459488c.png](https://img-blog.csdnimg.cn/img_convert/04329e9f4945e592c444e0a06459488c.png)
的说明做的话,现在你应该已经有一个可以运行的集群了,这一次我们尝试探索如何在集群上进行一些机器学习的流程。
机器准备:一个可运行集群
系统准备:ubuntu 16.04
软件准备:spark-2.4.0-bin-hadoop2.7,hadoop 2.8.5,mmlspark 0.17, python 3.6
MMLSpark
微软开发了MMLSpark,为Apache Spark提供了一些深入的学习和数据科学工具,包括将Spark Machine Learning管道与Microsoft Cognitive Toolkit(CNTK)和OpenCV无缝集成,使您能够快速创建功能强大,高度可扩展的大型图像预测和分析模型和文本数据集。
微软针对 Spark 生态系统,做了以下三个主要的贡献:
(1)将机器学习组件 CNTK、LightGBM 和 Spark 统一;
(2)集成了 Azure 云端的 Cognitive Services 和实现了 Spark 的 HTTP 服务;
(3)部署所有的 Spark 计算,作为一种分布式的 web 服务。
更详细的介绍请参考官网
在集群上运行代码
有三种方法可以在集群上运行python代码:
- 使用pyspark
- 使用spark-submit
第一种方法代码运行在可交互的console上,可用于调试和理解集群运行方法;第二种方法无法交互,提交任务直接执行。因为pyspark和spark-submit的参数相同,这里我们只介绍pyspark。要运行spark-submit时只要把对应参数复制过去,再指定运行文件即可。
启动pyspark
先启动你的hadoop和spark进程。如果你已经正确配置pyspark
,你