【问题标题】:Spark sqlContext select allSpark sqlContext 全选
【发布时间】:2018-05-31 15:54:42
【问题描述】:
我使用 Spark SQLContext 读取数据并将其存储在一个变量中:
val somevar = sqlContext.read.parquet(some_file.parquet)
然后我希望使用 select 选择所有值,例如:
somevar.select(*)
但这不起作用。
相当于这样做:
somevar.registerTempTable("sometable")
sqlContext.sql("SELECT * FROM sometable")
但我不想做前面的。
亲切的问候。
【问题讨论】:
标签:
scala
apache-spark
apache-spark-sql
【解决方案1】:
您有语法错误。以下语法是您使用 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]