2017-03-03 64 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]