是否可以在 SQL 联接中引用数据帧



我想知道使用SparkSQL利用内存处理的方法。当前支持哪些方法使用内存中对象运行 Spark SQL(如果有)?

  • 是否可以将CREATE TABLE AS语句的目标设置为内存中的表?

  • 是否可以在 FROM 子句中引用内存中对象(如数据帧)?

目前对火花的理解是有限的,所以如果它看起来太简单,请原谅我的问题。我将不胜感激任何建议或指导。

DataFrame是Spark RDD的SQL包装器。RDD是不可变的(你不能改变它们),但可以从中转换或创建新的RDD。

可以将数据帧注册为临时表将数据帧注册为表。

peopleDataFrame.registerTempTable("people")

然后运行选择 SQL 以获取结果。

SQL 语句可以使用 sqlContext 提供的 sql 方法运行。

val results = sqlContext.sql("SELECT name FROM people")

因此,只要数据帧支持,运行大多数选择查询应该不是问题。

但是由于不可变性,我怀疑 CREATE TABLE AS 是否有效并且没有意义,因为我们只能执行只读操作。

我希望它有所帮助。

谢谢查尔斯。

相关内容

  • 没有找到相关文章

最新更新