createOrReplaceTempView和registerTempTable的区别

37

我是spark的新手,并尝试在python中使用sparkSql时,遇到了这两个命令:

createOrReplaceTempView()和registerTempTable()。

这两个命令有什么区别?它们似乎具有相同的功能集。

3个回答

36

registerTempTable是1.x API的一部分,在Spark 2.0中已被弃用。

createOrReplaceTempViewcreateTempView已经在Spark 2.0中引入,作为registerTempTable的替代品。

除此之外,registerTempTablecreateOrReplaceTempView在功能上是等效的,前者调用后者。


15
createOrReplaceTempView和registerTempTable在功能上没有任何区别。如果您打开下面的链接并搜索registerTempTable,您会发现此函数在2.0中已被弃用。
有一个类似如下的注释: 在2.0中被弃用,请改用createOrReplaceTempView。 https://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html

这与另外两个问题不同吗? - koiralo
1
你是指其他两个答案吗?答案是否定的。当我点击问题进行回答时,此时它仍未被回答。 - Ankit Kumar Namdeo

7

createOrReplaceTempViewregisterTempTable之间的功能是相同的,并且具有相同的功能。

然而,从Spark 2.0.0开始,registerTempTable已经被弃用。

取而代之的是使用createOrReplaceTempView

@deprecated("Use createOrReplaceTempView(viewName) instead.", "2.0.0")
  def registerTempTable(tableName: String): Unit = {
    createOrReplaceTempView(tableName)
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接