⑴ 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 即可