gpt4 book ai didi

apache-spark - Spark Sql registerTempTable 和 registerDataFrameAsTable 区别

转载 作者:行者123 更新时间:2023-12-03 07:17:26 26 4
gpt4 key购买 nike

Spark SQL 中的 registerTempTableregisterDataFrameAsTable 方法有什么区别,在哪种场景下哪个更好。

最佳答案

Spark >= 2.1

有一个新的 createGlobalTempView可用于注册跨 session View :

Its lifetime is the lifetime of the Spark application, i.e. it will be automatically dropped when the application terminates. It's tied to a system preserved database _global_temp, and we must use the qualified name to refer a global temp view, e.g. SELECT * FROM _global_temp.view1.

Spark >= 2.0

registerTempTable 已被弃用,取而代之的是 createTempViewcreateOrReplaceTempView如果 View 已经存在,则前一个抛出异常。

Spark <2.0

PySpark

虽然这两者之间没有实际差异,但执行策略有所不同:

  • SQLContext.registerDataFrameAsTable 调用 JVM SQL 上下文上的 registerDataFrameAsTable 方法
  • DataFrame.registerTempTable 在 JVM 数据帧上调用 registerTempTable,后者在 JVM SQL 上下文上调用 registerDataFrameAsTable 方法

斯卡拉

  • DataFrame.registerTempTable 在 SQL 上下文中调用 registerDataFrameAsTable 方法
  • SQLContext.registerDataFrameAsTable 是私有(private)方法,无法在 org.apache.spark.sql 包外部访问。

为了简单起见,坚持使用 registerTempTable 可能也是个好主意。

关于apache-spark - Spark Sql registerTempTable 和 registerDataFrameAsTable 区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31602403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com