1
我正在使用spark 2.0.0。這裏是我的代碼:Logical Plan to DataFrame/Dataset Apache spark
import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
object WikiDataframe {
def getDataframe(sparkSession: SparkSession): DataFrame = {
val df = sparkSession.read.option("header", "true").option("inferSchema", "true").csv(FILE_LOCATION)
df.registerTempTable("pageviews_by_second")
df
}
def main(args: Array[String]) {
val sparkSession = SparkSession
.builder()
.appName("Spark SQL Example")
.master("local")
.getOrCreate()
val pageViewsDF = WikiDataframe.getDataframe(sparkSession)
val query: DataFrame = sparkSession.sql("select Date from (select * from pageviews_by_second) a")
var logicalQuery: LogicalPlan = query.queryExecution.logical
println("logicalQuery : " + logicalQuery);
import org.apache.spark.sql.catalyst.analysis.EliminateSubqueryAliases
println("Eliminating sub queries");
logicalQuery = EliminateSubqueryAliases.apply(logicalQuery)
}
}
我堅持上執行logicalQuery
。如果可能,我想獲得dataframe
或dataset
。 任何幫助,將不勝感激
什麼是與星火應用程序的問題?你想從...得到一個'數據集'?什麼?從'logicalQuery'?它甚至還沒有執行過程的一半。請詳細說明一下,然後我可以給你更多的提示如何繼續。 –