我正在使用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
答案 0 :(得分:1)
在Spark 2.X
- 为了使用Spark Session
(又名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 Sessions section in spark docs
中找到更多信息class pyspark.sql.SparkSession(sparkContext,jsparkSession = None)
使用Dataset和DataFrame编程Spark的入口点 API。 SparkSession可用于创建DataFrame,注册DataFrame 作为表,在表,缓存表和读取镶木地板上执行SQL 文件。要创建SparkSession,请使用以下构建器模式:
spark = SparkSession.builder \
.master("local") \
.appName("Word Count") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()
有关课程构建者的信息可在 class Builder - Builder for SparkSession.
中找到