之前在工作中做过一个机器学习的驾驶人风险评分卡模型。
现在想把原来基于sklearn包做的单机模型,改成hadoop+spark的分布式计算,以提高工程化的计算效率。
在这过程中,实现的流程,遇到的一些问题,在此做个记录。
本篇为PyCharm+PySpark远程调试的环境配置的方法。(假设已经在远程虚拟机上装好了hadoop,spark等环境)
1 pycharm-perference-project interpreter,添加上远程环境
2 在import pyspark前,设置spark_home等环境变量,不然找不到module
3 运行,完成第一个pyspark远程调试程序
# -*- coding:utf8-*-
import os
import sys
os.environ['SPARK_HOME'] ="/usr/local/spark"
sys.path.append("/usr/local/spark/python")
sys.path.append("/usr/local/spark/python/lib/py4j-0.10.7-src.zip")
from pysparkimport SparkContext
sc = SparkContext('local', 'test')
logFile ="file:///usr/local/spark/README.md"
logData = sc.textFile(logFile, 2).cache()
numAs = logData.filter(lambda line:'a' in line).count()
numBs = logData.filter(lambda line:'b' in line).count()
print('Lines with a: %s, Lines with b: %s' % (numAs, numBs))
好了,基于python的第一个远程spark程序调试完成。= =