使用Python寫spark 示例

  • 2020 年 1 月 10 日
  • 筆記

個人GitHub地址: https://github.com/LinMingQiang

為什麼要使用Python來寫Spark

Python寫spark我認為唯一的理由就是:你要做數據挖掘,AI相關的工作。因為很多做數挖的他們的基礎語言都是python,他們如果重新學scala比較耗時,而且,python他的強大類庫是他的優勢,很多算法庫只有python有。

Win本地編寫代碼調試

編輯器:PyCharm Spark:1.6 Python:2.7

Win環境準備

  1. Python的安裝 解壓python包,在環境變量裏面配上bin的路徑
  2. Spark的安裝 下載spark的bin文件,解壓即可,在環境變量配置SPARK_HOME 要可以通過編輯器來安裝,如pycharm,查找pyspark庫安裝即可
  3. Hadoop安裝 安裝hadoop環境 。在win下面需要winutils.exe;在環境裏面配置HADOOP_HOME 即可

代碼示例

# -*- coding: utf-8 -*-  from __future__ import print_function  from pyspark import *  import os  print(os.environ['SPARK_HOME'])  print(os.environ['HADOOP_HOME'])  if __name__ == '__main__':      sc = SparkContext("local[8]")      rdd = sc.parallelize("hello Pyspark world".split(" "))      counts = rdd           .flatMap(lambda line: line)           .map(lambda word: (word, 1))           .reduceByKey(lambda a, b: a + b)           .foreach(print)      sc.stop

問題1: from pyspark import * 找不到pyspark。那你需要把spark的bin包下面的python的所有都拷貝到(可能需要解壓py4j) %PYTHON%Libsite-packages下面去。這樣,你的編輯器才能找到。 或者: 配置你的編輯器的環境變量: PYTHONPATH=F:homespark-1.6.0-bin-hadoop2.6python;F:python2.7Libsite-packages

使用spark-submit提交時用到其他類庫 –py-files xxxx/xxxx.zip,xxxx.py