我是cask cdap和Hadoop环境的新手。
我正在创建一个管道,我想使用PySpark程序。我有spark程序的所有脚本,当我用命令测试它时,它可以工作,如果我试图在cdap管道中复制粘贴它,它就不行了。
它在日志中给了我一个错误:
NameError: name 'SparkSession' is not defined
我的脚本是这样开始的:
from pyspark.sql import *
spark = SparkSession.builder.getOrCreate()
from pyspark.sql.functions import trim, to_date, year, month
sc= SparkContext()
我该怎么解决?
2条答案
按热度按时间6tr1vspr1#
Spark通过
SparkContext
与本地运行的spark集群连接。更好的解释可以在这里找到https://stackoverflow.com/a/24996767/5671433。要初始化
SparkSession
,必须初始化SparkContext
。一种方法是编写一个初始化所有上下文和一个spark会话的函数。这可以称为
31moq8wy2#
你忘了加上
导入pyspark
关于PysparkSQL import SparkSession
---您的密码----