首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Scala:case类runTime错误

Scala:case类runTime错误
EN

Stack Overflow用户
提问于 2015-07-01 21:09:15
回答 1查看 213关注 0票数 1

这个演示运行正常。但是,当我将它移到另一个类函数(我以前的项目)并调用该函数时,它会编译失败。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     object DFMain {
         case class Person(name: String, age: Double, t:String)
         def main (args: Array[String]): Unit = {
         val sc = new SparkContext("local", "Scala Word Count")
         val sqlContext = new org.apache.spark.sql.SQLContext(sc)
         import sqlContext.implicits._
         val bsonRDD = sc.parallelize(("foo",1,"female")::
                                        ("bar",2,"male")::
                                     ("baz",-1,"female")::Nil)
                      .map(tuple=>{
                    var bson = new BasicBSONObject()
                    bson.put("name","bfoo")
                    bson.put("value",0.1)
                    bson.put("t","female")
                    (null,bson)
                 })
    val tDf = bsonRDD.map(_._2)
              .map(f=>Person(f.get("name").toString,
                   f.get("value").toString.toDouble,
                   f.get("t").toString)).toDF()

       tDf.limit(1).show()
 }
}

'MySQLDao.insertIntoMySQL()‘编译错误

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
object MySQLDao {
     private val sc= new SparkContext("local", "Scala Word Count")
     val sqlContext = new org.apache.spark.sql.SQLContext(sc)
     import sqlContext.implicits._

     case class Person(name: String, age: Double, t:String)
     def insertIntoMySQL(): Unit ={

      val bsonRDD = sc.parallelize(("foo",1,"female")::
                                     ("bar",2,"male")::
                                     ("baz",-1,"female")::Nil)
                       .map(tuple=>{
               val bson = new BasicBSONObject()
               bson.put("name","bfoo")
               bson.put("value",0.1)
               bson.put("t","female")
               (null,bson)
         })
 val tDf = bsonRDD.map(_._2).map( f=> Person(f.get("name").toString,
                                           f.get("value").toString.toDouble,
                                            f.get("t").toString)).toDF()

   tDf.limit(1).show()

 }
} 

,当我调用'MySQLDao.insertIntoMySQL()‘时,将得到

值typedProductIterator不是对象scala.runtim.scala.scalaRuntTime的成员。

案例类人(姓名: String,年龄: Double,t:String)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-02 09:10:58

我认为在map函数中的闭包中看不到case类。将其移动到包级别。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
case class Person(name: String, age: Double, t:String)
object MySQLDao {
...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31176002

复制
相关文章
Scala中的case match语法
scala中的case语法与java中的switch语法类似,但比switch更强大: 例子一正则匹配: val Pattern="(s.*)".r val v1="spark"; val r=v1 match { case Pattern(v1)=> "begin s*" case "1"=> "1" case "2"=> "2" case _=> "default" } println(r) // beg
我是攻城师
2018/05/14
2.5K0
System类、Runtime类、Robot类
System类主要是用来操作、获得系统相关的一些东西,例如之前用到的获取系统时间的方法System.currentTimeMillis();
端碗吹水
2020/09/23
6090
System类、Runtime类、Robot类
Runtime类(重点)
在每一个JVM进程之中,都会存在一个运行时的操作类的对象,而这对象所属的类型就是Runtime类。打开这个类的文档可以发现,在这个类之中并没有构造方法定义,可是按照之前所学,每个类至少有一个构造方法,而这个类的构造方法实际上存在只是不被外部看见而已,因为构造方法被私有化了,这是一个标准的单例设计模式。既然是单例设计模式则在这个类就一定会存在一个static型的方法,可以取得本类的实例化对象:public static Runtime getRuntime()。 而当取得了这个类的实例化对象之后,可以利用这个类取得一些JVM的信息,
葆宁
2019/04/18
5100
Runtime 类初探
在每一个JVM进程中都会存在一个Runtime类,这个类的主要功能是取得一些与运行时有关的环境属性或创建进程等操作。
Mirror王宇阳
2020/11/12
3400
scala 枚举类
第2行:通过type定义枚举类型的别名 第3行:我们的枚举从1开始,后续枚举值一次加1
大数据工程师-公子
2019/03/14
6240
Scala学习笔记(四) 类的初步Scala 类相关总结
终于来到面向对象的地方了,虽说函数式编程是 Scala 的特性,让人们觉得 Scala 是更好的 Java。但是在架构层面上一直提倡着:小处用函数式编程,大处用面向对象编程。
fengzhizi715
2018/08/24
4660
初识JAVA:Runtime类(重点)
在每一个JVM进程之中,都会存在一个运行时的操作类的对象,而这对象所属的类型就是Runtime类。打开这个类的文档可以发现,在这个类之中并没有构造方法定义,可是按照之前所学,每个类至少有一个构造方法,而这个类的构造方法实际上存在只是不被外部看见而已,因为构造方法被私有化了,这是一个标准的单例设计模式。既然是单例设计模式则在这个类就一定会存在一个static型的方法,可以取得本类的实例化对象:public static Runtime getRuntime()。 而当取得了这个类的实例化对象之后,可以利用这个类取得一些JVM的信息,
葆宁
2022/05/06
2420
iOS runtime--获取类信息
在iOS中可以通过runtime获取一个类的相关信息:有哪些方法、有哪些协议、有哪些属性、有哪些成员变量。安排的明明白白,老铁O(∩_∩)O哈哈~
用户6094182
2019/08/23
1.4K0
scala类与伴生类、单例
类似python元类与apply方法类似python中call方法 class Person(name: String, var age: Int){ println("Person") //private[this] var age = 18 // 字段必须得初始化 var gender:String=_ def Age=age //这个是方法 def increamen(){age+=1} def this(name:String, age:Int, gender:String
用户1733462
2018/06/01
5490
(3) - Scala case class那些你不知道的知识
除了在模式匹配中使用之外,unapply 方法可以让你结构 case class 来提取它的字段,如:
codingforfun
2018/08/24
4070
Scala Http请求工具类
import java.io.IOException import java.util import org.apache.http.client.ClientProtocolException import org.apache.http.client.entity.UrlEncodedFormEntity import org.apache.http.client.methods.{HttpGet, HttpPost} import org.apache.http.impl.client.{DefaultHttpClient, HttpClients} import org.apache.http.message.BasicNameValuePair import org.apache.http.util.EntityUtils import org.slf4j.LoggerFactory import scala.collection.JavaConversions._ import scala.reflect.macros.ParseException
大数据流动
2020/06/19
1.7K0
Scala中调用Java类
Note: 1. Scala中无参函数调用的时候可以省略括号 2. Scala中推荐使用Option类,而不是Java中的obj != null这样的判断
卡尔曼和玻尔兹曼谁曼
2019/01/22
3.1K0
runtime错误解决方案_完美解决Office1402错误
8000401a错误解决方案(Office Word,Excel,PowerPoit应用程序无法访问)
全栈程序员站长
2022/09/23
3210
【小家java】聊聊Java中的Runtime类
Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。
YourBatman
2019/09/03
8480
介绍Scala的样例类
在Scala里存在样例类。它的意义是为了减少重复代码,预先给类定义一些常用的方法。在Scala里使用case关键字来描述样例类。
哒呵呵
2018/08/06
8000
RunTime类,后台快速打开浏览器
cmd命令是java程序员最开始学习java的时候使用的工具,那么在以后的工作中我们还能用他玩些什么呢?
红目香薰
2022/11/28
3970
Java基础入门之Runtime类和文档注释
Runtime类描述的是虚拟机JVM一些信息,它是用来封装虚拟机JVM的进程。每个 Java 应用程序都有一个 Runtime 类实例,它就只有一个实例没有多个。Runtime类使用单例模式,单例模式是在设计一个类中,在整个程序运行中只存在一个实例对象。
Java进阶者
2021/04/30
7240
scala快速入门系列【抽象类】
本篇作为scala快速入门系列的第二十四篇博客,为大家带来的是关于抽象类的内容。
大数据梦想家
2021/01/26
3400
scala快速入门系列【抽象类】
【Scala篇】--Scala中Trait、模式匹配、样例类、Actor模型
Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。
LhWorld哥陪你聊算法
2018/09/13
7320
解析scala的伴生类和伴生对象所属类
@ 目录 说在前面 运行原理 代码体现 解析 说在前面 scala是纯面向对象的语言,C是纯面向过程的语言,Java就是面向过程+面向对象的语言。 在说到伴生对象之前,要先说到java的static关键字,static关键字修饰的变量、方法可以使类对象共享,而非某个对象单独拥有,所以是通过类名.变量名/方法名去调用。而这违背了scala面向对象的初衷,因为这没有通过对象去调用。 运行原理 scala的编译与java大同小异: Java运行原理 先编译,再解释 .java源文件--->编译器(javac
孙晨c
2021/01/18
8470

相似问题

Scala case类()

12

Flink scala Case类

214

Scala case类递归

120

Scala抽象case类

11

Scala和case类

42
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文