首页 > 解决方案 > Spark:spark.sql 和 sqlCtx.sql 有什么区别

问题描述

在使用 pyspark 的 Spark 2.1 中,如果你想查询一个表(例如从 HDP),你可以同时运行

df = sqlCtx.sql(''' select * from table ''') 

df = spark.sql(''' select * from table ''')

为什么你会做一个而不是另一个?两者有什么区别。

标签: pythonpysparkpyspark-sql

解决方案


sqlCtx是启动时创建的默认值SQLContextspark是启动时创建的默认值SparkSession。根据文档 for是替换为:SQLContext SparkSessionSQLContext

从 Spark 2.0 开始,它被 SparkSession 取代。但是,我们将类保留在这里是为了向后兼容。


推荐阅读