Scala [type1,type2]-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Scala [type1,type2]

2018-12-12 14:31:03 1415 1

以下是使用Either的一个工作示例:

val a: Either[Int, String] = {
if (true)

Left(42) // return an Int

else

Right("Hello, world") // return a String

}
但是下面的代码不起作用:条件“text”只是确定输入文件是文本文件还是parquet文件

val a: Either[org.apache.spark.rdd.RDD[String], org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]] = {
if (text)

spark.sparkContext.textFile(input_path + "/lineitem.tbl") // read in text file as rdd

else

sparkSession.read.parquet(input_path + "/lineitem").rdd  //read in parquet file as df, convert to rdd

}
它给我类型不匹配错误:

:33: error: type mismatch;
found : org.apache.spark.rdd.RDD[String]
required: scala.util.Either[org.apache.spark.rdd.RDD[String],org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]]

       spark.sparkContext.textFile(input_path + "/lineitem.tbl") // read in text file as rdd
                                  ^

:35: error: type mismatch;
found : org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]
required: scala.util.Either[org.apache.spark.rdd.RDD[String],org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]]

       sparkSession.read.parquet(input_path + "/lineitem").rdd  //read in parquet file as df, convert to rdd
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:20:12

    你的工作示例准确地告诉您,该做什么。只是包spark花返回到这两个表达式Left和Right:

    val a: Either[org.apache.spark.rdd.RDD[String], org.apache.spark.rdd.RDD[org.apache.spark.sql.Row]] = {
    if (text)

     Left(spark.sparkContext.textFile(input_path + "/lineitem.tbl")) // read in text file as rdd

    else

     Right(sparkSession.read.parquet(input_path + "/lineitem").rdd)  //read in parquet file as df, convert to rdd

    }
    Left并且Right是两个类,都延伸自Either。您可以使用new Left(expression)和创建实例new Right(expression)。由于它们都是case类,new因此可以省略关键字,只需使用Left(expression)和Right(expression)。

    0 0
相关问答

1

回答

Java虚拟机支持的数据类型byte占多少个字节?

2021-10-26 22:28:34 186浏览量 回答数 1

1

回答

又来提问了,源代码中的问题,第十四章最后的SHOUTcast服务器?报错

2020-06-14 21:22:36 187浏览量 回答数 1

1

回答

ews-java-api-2.0 访问SSL异常?报错

2020-06-14 15:25:10 657浏览量 回答数 1

1

回答

遇到type1’ followed by ‘type2’ is illegal怎么解决?c报错

2020-05-29 09:56:51 266浏览量 回答数 1

1

回答

sypaph.com DNS服务器异常

2019-02-28 15:01:55 279浏览量 回答数 1

1

回答

postgres 9.6版本,data type uuid has no default operator class for access methodgin

2017-11-17 19:59:50 3408浏览量 回答数 1

0

回答

阿里云 (华东 2可用区A) rds服务器 什么时候可以升级 mysql5.7 版本

2017-05-22 17:00:14 2665浏览量 回答数 0

1

回答

CSS中list-style-type: none是什么意思

2016-03-25 09:58:12 3995浏览量 回答数 1

3

回答

一台服务器只能申请五个备案号什么目的??!!

2015-12-03 18:13:36 3581浏览量 回答数 3

2

回答

linux管理工具免费试用啦!可以快速装LAMP、改SSH端口、打SSL补丁

2014-04-11 11:45:51 12158浏览量 回答数 2
+关注
社区小助手
社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。
12
文章
824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载