Spark sqlContext全选

时间:2017-03-03 12:32:32

标签: scala apache-spark apache-spark-sql

我使用Spark SQLContext读取数据并将其存储在变量:

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

然后我希望使用select选择所有值,例如:

  somevar.select(*)

但这不起作用。

相当于:

somevar.registerTempTable("sometable")

sqlContext.sql("SELECT * FROM sometable")

但我不想做以前的事。

亲切的问候。

1 个答案:

答案 0 :(得分:6)

您遇到语法错误。以下语法是 使用spark-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]