Spark.sql 与 SqlContext

jua*_*972 13 apache-spark apache-spark-sql pyspark

我在 Spark 中使用了 SQL,在本例中:

results = spark.sql("select * from ventas")
Run Code Online (Sandbox Code Playgroud)

其中 ventas 是一个数据框,之前像表格一样进行分类:

df.createOrReplaceTempView('ventas')
Run Code Online (Sandbox Code Playgroud)

但我已经看到了在 Spark 中使用 SQL 的其他方法,即使用 SqlContext 类:

df = sqlContext.sql("SELECT * FROM table")
Run Code Online (Sandbox Code Playgroud)

他们两者有什么区别呢?

提前致谢

Pra*_*ant 1

Sparksession 是现在使用 Spark 对象的首选方式。Hivecontext 和 SQLContext 都可以作为该单个对象 SparkSession 的一部分使用。

您通过创建视图 df.createOrReplaceTempView('ventas') 使用最新语法。