是否可以在 SQL 连接中引用数据框?
Is it possible to reference a dataframe in a SQL join?
我想知道如何利用 spark SQL 进行内存处理。 运行 spark SQL 当前支持的内存对象方法是什么?
是否可以让 CREATE TABLE AS
语句的目标成为内存中的 table?
是否可以在 FROM
子句中引用内存中的对象,例如数据帧?
目前对spark的理解有限,如果问题太简单还请见谅。我将不胜感激任何建议或指导。
DataFrame 是 SQL Spark RDD 的包装器。
RDD 是 immutable(你不能改变它们)但是可以从它转换或创建新的 RDD。
您可以将 dataframe 注册为临时 table
// 将 DataFrame 注册为 table.
peopleDataFrame.registerTempTable("people")
然后运行selectSQLs得到结果。
// SQL 语句可以 运行 通过使用 sqlContext.
提供的 sql 方法
val results = sqlContext.sql("SELECT name FROM people")
所以 运行只要数据框支持,大多数 select 查询应该不是问题。
但是由于不变性,我怀疑 CREATE TABLE AS 是否会起作用并且没有意义,因为我们只能进行只读操作。
希望对您有所帮助。
谢谢,
查尔斯.
我想知道如何利用 spark SQL 进行内存处理。 运行 spark SQL 当前支持的内存对象方法是什么?
是否可以让
CREATE TABLE AS
语句的目标成为内存中的 table?是否可以在
FROM
子句中引用内存中的对象,例如数据帧?
目前对spark的理解有限,如果问题太简单还请见谅。我将不胜感激任何建议或指导。
DataFrame 是 SQL Spark RDD 的包装器。 RDD 是 immutable(你不能改变它们)但是可以从它转换或创建新的 RDD。
您可以将 dataframe 注册为临时 table // 将 DataFrame 注册为 table.
peopleDataFrame.registerTempTable("people")
然后运行selectSQLs得到结果。
// SQL 语句可以 运行 通过使用 sqlContext.
提供的 sql 方法val results = sqlContext.sql("SELECT name FROM people")
所以 运行只要数据框支持,大多数 select 查询应该不是问题。
但是由于不变性,我怀疑 CREATE TABLE AS 是否会起作用并且没有意义,因为我们只能进行只读操作。
希望对您有所帮助。
谢谢, 查尔斯.