Fab*_*oni 19 types scala apache-spark apache-spark-sql
我是Scala/Spark堆栈的新手,我正试图弄清楚如何使用SparkSql来测试我的基本技能,以便在TempTables中"映射"RDD,反之亦然.
我有两个不同的.scala文件,具有相同的代码:一个简单的对象(使用def main ...)和一个扩展App的对象.
在简单的对象中,我得到一个错误,因为"No TypeTag available"连接到我的case类Log:
object counter {
def main(args: Array[String]) {
.
.
.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.createSchemaRDD
case class Log(visitatore: String, data: java.util.Date, pagina: String, count: Int)
val log = triple.map(p => Log(p._1,p._2,p._3,p._4))
log.registerTempTable("logs")
val logSessioni= sqlContext.sql("SELECT visitor, data, pagina, count FROM logs")
logSessioni.foreach(println)
}
Run Code Online (Sandbox Code Playgroud)
行中的错误:log.registerTempTable("logs")表示"没有TypeTag可用于日志".
在另一个文件(对象扩展App)中一切正常:
object counterApp extends App {
.
.
.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.createSchemaRDD
case class Log(visitatore: String, data: java.util.Date, pagina: String, count: Int)
val log = triple.map(p => Log(p._1,p._2,p._3,p._4))
log.registerTempTable("logs")
val logSessioni= sqlContext.sql("SELECT visitor, data, pagina, count from logs")
logSessioni.foreach(println)
}
Run Code Online (Sandbox Code Playgroud)
由于我刚刚开始,我没有得到两个要点:1)为什么相同的代码在第二个文件(对象扩展App)中工作正常,而在第一个(简单对象)中我得到错误?
2)(最重要的)我应该怎么做我的代码(简单的目标文件)来修复这个错误,以便处理案例类和TypeTag(我几乎不知道)?
每个答案,代码示例将非常感谢!
提前致谢
FF
| 归档时间: |
|
| 查看次数: |
10920 次 |
| 最近记录: |