我刚接触到spark 2.0;到目前为止,我一直在使用spark 1.6.1 . 有人可以帮我用pyspark(python)设置sparkSession吗?我知道在线提供的scala示例类似(here),但我希望能直接使用python语言 .
我的具体情况:我在一个zeppelin spark笔记本中加载来自S3的avro文件 . 然后构建df并运行各种pyspark和sql查询 . 我所有的旧查询都使用sqlContext . 我知道这是不好的做法,但我开始使用我的笔记本
sqlContext = SparkSession.builder.enableHiveSupport().getOrCreate() .
我可以在avros中阅读
mydata = sqlContext.read.format("com.databricks.spark.avro").load("s3:...
并构建没有问题的数据帧 . 但是一旦我开始查询dataframes / temp表,我就会收到“java.lang.NullPointerException”错误 . 我认为这表明存在转换错误(例如旧查询在1.6.1中工作但需要针对2.0进行调整) . 无论查询类型如何,都会发生错误 . 所以我假设
1.)sqlContext别名是个坏主意
和
2.)我需要正确设置sparkSession .
因此,如果有人能告诉我这是如何完成的,或者可能解释他们所知道的不同版本的火花之间的差异,我将非常感激 . 如果我需要详细说明这个问题,请告诉我 . 如果它令人费解,我道歉 .