我正在使用spark ver 2.0.1
def f(l):
print(l.b_appid)
sqlC=SQLContext(spark)
mrdd = sqlC.read.parquet("hdfs://localhost:54310/yogi/device/processed//data.parquet")
mrdd.forearch(f) <== this gives error
在Spark 2.X
中 - 为了使用Spark Session
(aka spark
),您需要创建它
您可以这样创建SparkSession
:
from pyspark.sql import SparkSession
spark = SparkSession
.builder
.appName("Python Spark SQL basic example")
.getOrCreate()
拥有SparkSession
对象(spark
)后,您可以这样使用:
mydf = spark.read.parquet("hdfs://localhost:54310/yogi/device/processed//data.parquet")
mydf.forearch(f)
可以在Spark Docs中的Spark Sessions部分中找到更多信息:
class pyspark.sql.sparksession(SparkContext,jsparksession = none)
使用数据集和数据框架编程Spark的切入点 API。可以使用Sparksession创建数据框,注册数据框架 作为表,在表上执行SQL,缓存表,然后读取Parquet 文件。要创建火花,请使用以下构建器模式:
spark = SparkSession.builder
.master("local")
.appName("Word Count")
.config("spark.some.config.option", "some-value")
.getOrCreate()
有关类建筑商的信息可以在类建筑商-Sparksession中找到。