Scala 火花壳-透明进口

Scala 火花壳-透明进口,scala,apache-spark,Scala,Apache Spark,我面临以下火花壳的问题。因此,在shell会话中- 我导入了以下内容-import scala.collection.immutable.HashMap 然后我意识到我的错误并导入了正确的类-import java.util.HashMap 但是,现在我在运行代码时遇到以下错误- <console>:34: error: reference to HashMap is ambiguous; it is imported twice in the same scope by impor

我面临以下火花壳的问题。因此,在shell会话中-

  • 我导入了以下内容-
    import scala.collection.immutable.HashMap
  • 然后我意识到我的错误并导入了正确的类-
    import java.util.HashMap
  • 但是,现在我在运行代码时遇到以下错误-

    <console>:34: error: reference to HashMap is ambiguous;
    it is imported twice in the same scope by
    import java.util.HashMap
    and import scala.collection.immutable.HashMap
           val colMap = new HashMap[String, HashMap[String, String]]()
    
    :34:错误:对HashMap的引用不明确;
    由在同一范围内导入两次
    导入java.util.HashMap
    并导入scala.collection.immutable.HashMap
    val colMap=new HashMap[String,HashMap[String,String]]()
    
    如果我有长时间运行的Spark Shell会话,即我不想关闭和重新打开我的Shell,请帮助我。那么,有没有一种方法可以清除以前的导入并使用正确的类

    我知道我们也可以指定完整的限定名,比如-
    val colMap=new java.util.HashMap[String,java.util.HashMap[String,String]]()

    但是,我在看是否有办法清除错误加载的类


    谢谢

    这太令人惊讶了,因为我认为spark shell会像REPL一样从历史中挑选进口产品。什么版本<代码>:imports提供它所看到的内容的列表。上一个HashMap应始终阴影化。您还可以尝试重命名
    import java.util.{HashMap=>JMap}
    。没有可选择性重置的公共api。我正在使用Spark 2.2和Scala 2.11.8以及JRE 1.8,而且,
    :imports
    不显示HashMap。