簡體   English   中英

如何使用 java 在 spark3 中讀取 map

[英]How to read map in spark3 with java

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

當我在上面嘗試時,它將在 spark2.4 中工作,但在 spark3 中,它對於 DataSet 類型顯示為模棱兩可。

來自遷移指南,“SQL、數據集和數據幀”一章:

在 Spark 3.0 中,如果 Dataset 查詢包含由自連接引起的不明確的列引用,則會失敗。 一個典型的例子:val df1 =...; val df2 = df1.filter(...);,然后 df1.join(df2, df1("a") > df2("a")) 返回一個空結果,這非常令人困惑。 這是因為 Spark 無法解析指向自聯接表的 Dataset 列引用,並且 df1("a") 與 Spark 中的 df2("a") 完全相同。 要恢復 Spark 3.0 之前的行為,您可以將 spark.sql.analyzer.failAmbiguousSelfJoin 設置為 false。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM