无参数的java错误编码,如何用Spark代码在Java8中编写mapFunction?错误:map(Function1,Encoder)不适用于参数...

I have a mapFunction as below

Function1 mapFunction = ( record ) ->{

CompanyInfoTransformedRecord transRec = new CompanyInfoTransformedRecord();

//popluate

return transRec ;

};

Which takes CompanyInfoRecordNew object and return CompanyInfoTransformedRecord.

But while invoking this as below

JavaRDD companyInfoTransformedRecord = baseDs.map(mapFunction, comanyInfoTransEncoder);

Giving Error :

The method map(Function1, Encoder) in the type Dataset is not applicable for the arguments (Function1, Encoder)

What is wrong here ?

Code Link for the same :

How to return a List from map function?

Code updated in the link

Section 2 :

MapFunction> mapFunction = ( record ) ->{

List transRecList = new ArrayList();

return transRecList ;

}

Dataset> companyInfoTransformedRecords = baseDs.map(mapFunction, comanyInfoTransEncoder);

//Error

The method map(Function1, Encoder) in the

type Dataset is not applicable for the arguments

MapFunction>,

Encoder)

companyInfoTransformedRecord.show();

Not able to do show due to error , how to get show() working. ??

解决方案

Your imports are wrong, instead of this:

import org.apache.calcite.linq4j.function.Function1;

Use this

org.apache.spark.api.java.function.MapFunction;

baseDs.map(new MapFunction() {...}, encoder);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值