在使用pyspark的Spark 2.1中,如果要查询表(例如从HDP中查询),则可以同时运行
df = sqlCtx.sql(''' select * from table ''')
和
df = spark.sql(''' select * from table ''')
您为什么要一个做一个?两者有什么区别。
答案 0 :(得分:2)
sqlCtx
是启动时创建的默认SQLContext
。 spark
是启动时创建的默认SparkSession
。根据{{3}}的文档,SparkSession
替代了SQLContext
:
从Spark 2.0开始,它被SparkSession取代。但是,我们将类保留在这里是为了向后兼容。