1
spark 2.0.0을 사용하고 있습니다. 여기 내 코드는 다음과 같습니다.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
을 받고 싶습니다. 어떤 도움을
등의 작업이 필요를 감상 할 수있다? 당신은'Dataset'을 얻고 싶습니다 ... 뭐라구? 'logicalQuery' 에서요? 실행 프로세스의 중간 단계도 아닙니다. 계속 진행하는 방법을 좀 더 알려주기 전에 자세히 설명해주십시오. –