首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用java在spark3中读取地图

如何用java在spark3中读取地图
EN

Stack Overflow用户
提问于 2021-12-13 10:28:54
回答 1查看 88关注 0票数 0

DataSet person = spark.read.textfile(path).map(Person::new,Encoders.bean(Person.class))

当我尝试上面的工作时,它将在spark2.4(scala-2.11)中工作,但在scamk3.1.1(Scala-2.12)中,它显示为DataSet类型的矛盾性。在我使用地图的地方,过滤器,地图分区,平面图也会有矛盾/

但是,通过进行类型转换,spark.read.textfile(path).map((MapFunction(Person::new,Encoders.bean(Person.class))的所有转换都将获得成功

是否有其他方法不进行打字/编解码器?

EN

回答 1

Stack Overflow用户

发布于 2021-12-23 12:32:05

在迁移指南中,“SQL、数据集和DataFrame”一章:

在Spark3.0中,如果Dataset查询包含由自联接引起的不明确的列引用,则会失败。一个典型的示例: val df1 =.;val df2 =df1.filter(.);然后df1.join(df2,df1("a") > df2("a"))返回一个空的结果,这非常令人困惑。这是因为Spark无法解析指向自连接表的Dataset列引用,而且df1("a")与星火中的df2("a")完全相同。若要恢复Spark3.0之前的行为,可以将spark.sql.analyzer.failAmbiguousSelfJoin设置为false。

https://spark.apache.org/docs/latest/sql-migration-guide.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70333181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档