Spark:spark.sql 和 sqlCtx.sql 有什么区别

Spark: What's the difference between spark.sql and sqlCtx.sql

在使用 pyspark 的 Spark 2.1 中,如果您想查询 table(例如来自 HDP),您可以 运行 两个

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

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

你为什么要先做一个再做另一个?两者有什么区别。

sqlCtx 是在启动时创建的默认 SQLContextspark 是在启动时创建的默认 SparkSession。根据 SQLContext 的文档 SparkSessionSQLContext 的替代品:

As of Spark 2.0, this is replaced by SparkSession. However, we are keeping the class here for backward compatibility.