2017-03-03 60 views
0

我用星火SQLContext讀取數據並將其存儲在一個變量:星火sqlContext選擇所有

val somevar = sqlContext.read.parquet(some_file.parquet) 

然後,我希望用選擇所有的值來選擇,這樣的:

somevar.select(*) 

但這不起作用。

相當於是做:

somevar.registerTempTable("sometable") 

sqlContext.sql("SELECT * FROM sometable") 

但我不希望這樣做以前。

親切的問候。

回答

4

您有語法錯誤。以下語法是你如何選擇所有列火花-SQL:

import sqlContext.implicit._ 

val df = Seq((1,2),(2,3)).toDF 
// df: org.apache.spark.sql.DataFrame = [_1: int, _2: int] 

// solution 1 
df.select("*") 
// res54: org.apache.spark.sql.DataFrame = [_1: int, _2: int] 

// alternative 1 
df.select($"*") 
// res55: org.apache.spark.sql.DataFrame = [_1: int, _2: int] 

// alternative 2 
df.select('*) 
// res56: org.apache.spark.sql.DataFrame = [_1: int, _2: int]