我想知道如何利用sparksql进行内存处理。如果有内存中的对象,当前支持哪些方法来运行sparksql?有没有可能有一个 CREATE TABLE AS 语句是内存中的表吗?是否可以引用内存中的对象(如数据库中的Dataframe) FROM 条款?我目前对spark的理解是有限的,所以请原谅我的问题,如果它看起来太简单了。如有任何建议或指导,我将不胜感激。
CREATE TABLE AS
FROM
f0brbegy1#
Dataframe是围绕spark rdd的sql Package 器。rdd是不可变的(您不能更改它们),但可以从中转换或创建新的rdd。可以将dataframe注册为临时表//将dataframes注册为表。 peopleDataFrame.registerTempTable("people") 然后运行selectsqls来获得结果。//可以使用sqlcontext提供的sql方法运行sql语句。 val results = sqlContext.sql("SELECT name FROM people") 因此,只要dataframe支持,运行任何select查询都不应该是问题。但由于不变性,我怀疑create table as是否有效,因为我们只能执行只读操作。希望对你有帮助。谢谢,查尔斯。
peopleDataFrame.registerTempTable("people")
val results = sqlContext.sql("SELECT name FROM people")
1条答案
按热度按时间f0brbegy1#
Dataframe是围绕spark rdd的sql Package 器。rdd是不可变的(您不能更改它们),但可以从中转换或创建新的rdd。
可以将dataframe注册为临时表//将dataframes注册为表。
peopleDataFrame.registerTempTable("people")
然后运行selectsqls来获得结果。//可以使用sqlcontext提供的sql方法运行sql语句。
val results = sqlContext.sql("SELECT name FROM people")
因此,只要dataframe支持,运行任何select查询都不应该是问题。但由于不变性,我怀疑create table as是否有效,因为我们只能执行只读操作。
希望对你有帮助。
谢谢,查尔斯。