⑴ spark python腳本怎麼執行
前段時間使用了一下google的博客空間,感覺也很一般,所以現在把那裡的幾篇文章轉過來。
執行python腳本只需要對python文件做如下操作即可:
在python文件里第一行加上#!
/usr/bin/python,即你的python解釋器所在的目錄。另外還有一種寫法是#!
/usr/bin/env
python
編輯完成python腳本文件後為它加上可執行許可權。例如你的python腳本文件叫做runit.py,那麼就在shell中輸入如下命令:chmod
+x
runit.py
之後直接在shell中輸入./runit.py就可以執行你的python程序了。
當然這是在Linux下的操作,如果想在windows下直接執行Python程序,就需要使用py2exe工具將python源程序編譯成exe文件了。
⑵ 最新的spark支持python的什麼版本
兩種方法:
使用 spark-submit 解釋執行python腳本
使用 python 解釋執行python腳本
1. 使用Spark-submit解釋執行python腳本
python腳本中需要在開頭導入spark相關模塊,調用時使用spark-submit提交,示例代碼如下:
===========================================================
"""odflow.py"""
from pyspark import SparkContext
fileDir = "/TripChain3_Demo.txt"
# sc = SparkContext("local", "ODFlow")
sc = SparkContext("spark://ITS-Hadoop10:7077", "ODFlow")
lines = sc.textFile(fileDir)
# python不能直接寫多行的lambda表達式,所以要封裝在函數中
def toKV(line):
arr = line.split(",")
t = arr[5].split(" ")[1].split(":")
return (t[0]+t[1]+","+arr[11]+","+arr[18],1)
r1 = lines.map( lambda line : toKV(line) ).receByKey(lambda a,b: a+b)
# 排序並且存入一個(repartition)文件中
r1.sortByKey(False).saveAsTextFile("/pythontest/output")
===========================================================
發布命令為:
spark-submit \
--master spark://ITS-Hadoop10:7077 \
odflow.py
2. 使用 python 解釋執行python腳本
直接用python執行會出現錯誤:
ImportError: No mole named pyspark
ImportError: No mole named py4j.java_gateway
缺少pyspark和py4j這兩個模塊,這兩個包在Spark的安裝目錄里,需要在環境變數里定義PYTHONPATH,編輯~/.bashrc或者/etc/profile文件均可
vi ~/.bashrc # 或者 sudo vi /etc/profile
# 添加下面這一行
export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH
# 使其生效
source ~/.bashrc # 或者 sudo source /etc/profile
然後關閉終端,重新打開,用python執行即可
python odflow.py
⑶ intellij idea 怎麼編寫python程序打包發送到spark
,客戶端和虛擬集群中hadoop、spark、scala的安裝目錄是一致的,這樣開發的spark應用程序的時候不需要打包spark開發包和scala的庫文件,減少不必要的網路IO和磁碟IO。當然也可以不一樣,不過在使用部署工具spark-submit的時候需要參數指明classpath。
1:IDEA的安裝
官網jetbrains.com下載IntelliJ IDEA,有Community Editions 和& Ultimate Editions,前者免費,用戶可以選擇合適的版本使用。
根據安裝指導安裝IDEA後,需要安裝scala插件,有兩種途徑可以安裝scala插件:
啟動IDEA -> Welcome to IntelliJ IDEA -> Configure -> Plugins -> Install JetBrains plugin... -> 找到scala後安裝。
啟動IDEA -> Welcome to IntelliJ IDEA -> Open Project -> File -> Settings -> plugins -> Install JetBrains plugin... -> 找到scala後安裝。
⑷ Spark中的dataFrame如何實現Python中dataFrame的describe功能
#!/usr/bin/env python3# -*- coding: utf-8 -*-"升埋""
Created on Fri Jun 8 16:27:57 2018
@author: luogan
"""慶盯import pandas as pdfrom pyspark.sql import SparkSession
spark= SparkSession\
.builder \
.appName("dataFrame") \
.getOrCreate()# Loads data.ll3=pd.DataFrame([[1,2],[3,4]],columns=['a','b'吵差螞])
cc=ll3.values.tolist()
dd=list(ll3.columns)#df=spark.createDataFrame(ll3)#turn pandas.DataFrame to spark.dataFramespark_df = spark.createDataFrame(cc, dd)
print('spark.dataFram=',spark_df.show())#turn spark.dataFrame to pandas.DataFrame pandas_df = spark_df .toPandas()
print('pandas.DataFrame=',pandas_df)
⑸ 如何運行含spark的python腳本
2~spark$ bin/spark-submit first.py
-----------first.py-------------------------------
from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local").setAppName("My App")
sc = SparkContext(conf = conf)
lines = sc.textFile("first.py")
pythonLines = lines.filter(lambda line: "Python" in line)
print "hello python"
print pythonLines.first()
print pythonLines.first()
print "hello spark!"
---------------------------------------------------
hello python
pythonLines = lines.filter(lambda line: "Python" in line)
pythonLines = lines.filter(lambda line: "Python" in line)
hello spark!
到spark的安裝目錄下/bin 下面 spark-submit ***.py 即可