当前位置: 首页 > 知识库问答 >
问题:

Scala在SparkJavaAPI中的一些和没有等价

邹举
2023-03-14

我在Spark Java API项目中编写了一个mapToPair函数。我需要有一个类似于Scala None的功能,所以对于一个特定的地图,我可能不返回任何东西(Scala中没有)

JavaPairRDD<DateTime,Row> sensorDataDoubleRDD= sensorDataDoubleDF.toJavaRDD().mapToPair(new PairFunction<Row,DateTime,Row>() 
{
    private static final long serialVersionUID = 8355799038879757766L;
    @Override
    public Tuple2<DateTime,Row> call(Row row) {

        //return new Tuple2("s",1);
        return null;    
    }
});

System.out.println("the count is: "+sensorDataDoubleRDD.count());

例如,运行上述代码总是返回一个正的计数值,而不是0。

共有1个答案

魏浩广
2023-03-14

如果你使用的是Java8,你可以使用可选,这与scala中的选项有些相似。你可以在这里了解更多。

或者,您可以通过新建一些(数据)创建一些对象,通过scala创建无。无$。MODULE$,因为无是单例。

 类似资料:
  • 就像Java 8中的(在某种程度上)与Scala的类型等价一样,是否存在与Scala的等价的类型?

  • 我已经在Ubuntu 16.04 LTS上安装了intelliJ-IDEA 2017.2.5和scala插件。当我创建新的scala项目并尝试运行它时,我得到: 错误:Scalac:Scala SDK中的Scala编译器类路径中没有“scala-library*.jar”sbt:org.scala-lang:scala-library:2.12.4:jar 我可以通过转到Project Struc

  • 问题内容: 就像在Java 8中(某种程度上)等同于Scala的类型一样,是否也等同于Scala的类型? 问题答案: Java 8 没有类型,因此您需要自己创建一个或使用一些第三方库。 您可以使用新类型来构建这样的功能(但请阅读此答案的结尾): 用例示例: 回顾起来,基于基础的解决方案更像是一个学术实例,而不是推荐的方法。一个问题是对“空” 的处理,这与“任一个”的含义相矛盾。 以下代码显示了一个

  • 在Java8中,有,它允许对集合进行聚合。在Kotlin中,除了可能作为stdlib中的扩展函数集合之外,这并不是以同样的方式存在的。但不清楚不同用例的等价物是什么。 例如,JavaDoc For的顶部是为Java8编写的示例,当将它们移植到Kolin时,您不能在不同的JDK版本上使用Java8类,因此它们可能应该以不同的方式编写。 就展示Kotlin集合示例的在线资源而言,它们通常是微不足道的,

  • 我对Java线程和并发有点陌生。我读过关于同步和锁定块的书。它们让其他线程等待第一个线程完成其工作。 我只想知道一种方式,如果线程a正在执行它的执行,那么线程B不应该等待并跳过共享代码块的执行。

  • 我在一个Spring Boot项目中有一个rest控制器API。我需要添加一个通用函数,例如,在控制器中的所有路由之前验证每个传入请求的令牌,而不是为每个路由单独调用相同的函数。有没有一种方法可以通过基于@RestController的路由而不是通过web flux处理程序和路由器的方式来实现这一点? 编辑:是否有一种方法只对某些路由而不是所有传入请求使用拦截器?