使用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環境準備
- Python的安裝 解壓python包,在環境變量裏面配上bin的路徑
- Spark的安裝 下載spark的bin文件,解壓即可,在環境變量配置SPARK_HOME 要可以通過編輯器來安裝,如pycharm,查找pyspark庫安裝即可
- 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