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

Apache spark 是否可以在SQL联接中引用数据帧?,apache-spark,hive,apache-spark-sql,spark-dataframe,Apache Spark,Hive,Apache Spark Sql,Spark Dataframe,我想知道如何利用spark SQL进行内存处理。当前支持使用内存中对象(如果有)运行spark SQL的方法有哪些 是否可以将CREATE TABLE语句的目标设置为内存中的表 是否可以在FROM子句中引用内存中的对象,例如数据帧 我目前对spark的理解是有限的,所以如果我的问题太简单,请原谅。如果您能提供任何建议或指导,我将不胜感激。DataFrame是Spark RDD的SQL包装器。 RDD是不可变的(您不能更改它们),但可以从中转换或创建新的RDD 您可以将数据帧注册为临时表 //

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

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

  • 是否可以在
    FROM
    子句中引用内存中的对象,例如数据帧


我目前对spark的理解是有限的,所以如果我的问题太简单,请原谅。如果您能提供任何建议或指导,我将不胜感激。

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

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

peopleDataFrame.RegisterEmptable(“人”)

然后运行selectsqls以获得结果

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

val results=sqlContext.sql(“从人中选择名称”)

因此,只要dataframe支持,运行任何选择查询都不应该是问题

但由于不变性,我怀疑创建表是否会起作用,也没有意义,因为我们只能执行只读操作

我希望有帮助

谢谢,
Charles。

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

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

peopleDataFrame.RegisterEmptable(“人”)

然后运行selectsqls以获得结果

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

val results=sqlContext.sql(“从人中选择名称”)

因此,只要dataframe支持,运行任何选择查询都不应该是问题

但由于不变性,我怀疑创建表是否会起作用,也没有意义,因为我们只能执行只读操作

我希望有帮助

谢谢,
查尔斯。

回答得好。谢谢,回答得好。谢谢