scala - Scala 中如何解析导入的名称?(火花/齐柏林飞艇)
问题描述
我在 Zeppelin 中使用 Spark 解释器在一段中运行了一个脚本。它有一个导入,导入的名称可以从全局命名空间和函数中解析,但不能从类中的方法解析。
这在我的计算机安装的 Scala (2.12) 上运行良好,但在 Zeppelin (Scala 2.11) 中不起作用。
import java.util.Calendar
def myFun: String = {
// this works
return Calendar.getInstance.toString
}
class MyClass {
def myFun(): String = {
// this doesn't
return Calendar.getInstance.toString
// this works
return java.util.Calendar.getInstance.toString
}
}
错误信息如下:
import java.util.Calendar
myFun: String
<console>:15: error: not found: value Calendar
return Calendar.getInstance.toString
我错过了什么?
解决方案
我想在 0.8.0 Zeppelin 引入了一个新的 SparkInterpreter,因此全局导入不起作用,并且导入必须在包装器内进行。
作为一种解决方法,可以将属性 zeppelin.spark.useNew 设置为值“false”。这会禁用 sparks 新解释器。
推荐阅读
- python - 用逗号连接字符串并在每个元素周围加上引号
- mysql - 如何使用临时表中的列进行 MSQL 中的以下更新
- kotlin - Kotlin 中的 HelloWorld 给出错误“找不到或加载主类”
- javascript - 我可以在 Angularfire 中有 2 个数据库引用吗
- wordpress - 帖子类型中的事件日期
- javascript - 条件为假,但仍执行
- c - 如何以最简单的方式使用 scanf() 引入多个字符串?
- rest - Netsuite - REST API - 使用基于令牌的身份验证 (TBA) 进行查询 - (在 Python 中)
- azure - 使用哪些 azure 服务来通知某事已完成?
- sql - 我需要从表中已检索到的列中检索一列