更新时间:2024-05-22 GMT+08:00
Spark Python脚本如何引用Python脚本?
下图为一个Python脚本:
def hello1(odps): sql_str="""select date_ptn ( to_char ( TO_DATE('20231008', 'yyyyMMdd'), 'yyyy-mm-dd hh:mm:ss' ), 'm' )""" odps.sql(sql_str).show()
创建一个Spark Python脚本:
图1 Spark Python脚本
## SparkPython ## ******************************************************************** ## ## author: Huawei-readonly ## create time: 2023/10/08 15:22:36 GMT+08:00 ## ******************************************************************** ## ## SparkPython ## ******************************************************************** ## ## author: Huawei-readonly ## create time: 2023/09/26 10:42:37 GMT+08:00 ## ******************************************************************** ## import subprocess import time from pyspark import SparkConf, SparkContext from pyspark.sql import SparkSession,SQLContext import hello def execute_sql(sql_query): return odps.sql(sql_query) def create_spark_session(): conf = SparkConf().setAppName("myj").setMaster("yarn").set("spark.executor.memory", "8g").set("spark.executor.cores", "4") spark = SparkSession \ .builder \ .config(conf=conf) \ .getOrCreate() return spark if __name__ == '__main__': # 创建一个名为"myj"的SparkSession对象 odps = create_spark_session() odps.execute_sql=execute_sql # 执行sql # sql_str="""select week_datepart('2013-01-08 01:10:00', 'mwm');""" # odps.execute_sql(sql_str) .show() hello.hello1(odps) # print("xxx") --py-files hdfs:///tmp/pyspark/hello.py
在作业算子MRS Spark Python中引用Python脚本:
在运行程序参数中配置参数--py-files和参数值hdfs:///tmp/pyspark/hello.py。
图2 算子MRS Spark Python中引用Python脚本
该示例是将脚本上传到HDFS路径,上传到OBS路径也适用。
父主题: 数据开发