Value createglobaltempview不是apache.org.spark.sql.dataframe的成



我正在尝试使用以下语句使用Spark中的Scala中注册DataFrame作为全局临时视图:

df.createGlobalTempView("people")

它没有在DataFrame对象上识别createGlobalTempView

它显示错误:

value createglobaltempview不是 org.apache.spark.sql.dataframe。

我是否缺少任何库导入?

createGlobalTempView在当前稳定版本(SPARK 2.0)中不存在。它已在尚未发布的2.1.0中添加。

全局临时视图

SPARK SQL中的临时视图为session-scoped,如果创建其终止的会话将消失。

如果您想在所有会话之间共享一个临时视图,并保持活力,直到Spark应用程序终止,则可以创建全局临时视图。全局临时视图与保留的系统数据库Global_TEMP相关联,我们必须使用合格的名称来引用它,例如从global_temp.view1。

选择 *
// Register the DataFrame as a global temporary view
df.createGlobalTempView("people")
// Global temporary view is tied to a system preserved database `global_temp`
spark.sql("SELECT * FROM global_temp.people").show()
// +----+-------+
// | age|   name|
// +----+-------+
// |null|Michael|
// |  30|   Andy|
// |  19| Justin|
// +----+-------+
// Global temporary view is cross-session
spark.newSession().sql("SELECT * FROM global_temp.people").show()
// +----+-------+
// | age|   name|
// +----+-------+
// |null|Michael|
// |  30|   Andy|
// |  19| Justin|
// +----+-------+

全局临时视图不是Spark 2.0.2(最新)版本的一部分。

全局临时视图是下一个版本的一部分

最新更新