我是Spark Scala的新手,我正在尝试对csv文件进行SQL查询并返回记录。 以下是我拥有的,但不起作用:
val file = sc.textFile(“file:///data/home_data.csv”)
val records = file.sqlContext("SELECT id FROM home_data WHERE yr_built < 1979")
combined.collect().foreach(records)
我在使用file.sqlContext
函数时遇到错误。
谢谢
您可以使用 class 将数据与相应的字段名称和数据类型映射,然后使用您的查询:
case class Person(first_name:String,last_name: String,age:Int)
val pmap = p.map ( line => line.split (","))
val personRDD = pmap.map ( p => Person (p(0), p(1), p(2). toInt))
val personDF = personRDD. toDF
然后查询人员 DF。
我不知道模式,所以我以这种方式制定。