0
A
回答
0
這是因爲數據集上的map
導致該查詢在Spark中序列化和反序列化。
要序列化它,Spark現在必須是編碼器。這就是因爲有一個方法適用的對象ExpressionEncoder。這是JavaDoc說:
A factory for constructing encoders that convert objects and primitives to and from the
internal row format using catalyst expressions and code generation. By default, the
expressions used to retrieve values from an input row when producing an object will be created as
follows:
- Classes will have their sub fields extracted by name using [[UnresolvedAttribute]] expressions
and [[UnresolvedExtractValue]] expressions.
- Tuples will have their subfields extracted by position using [[BoundReference]] expressions.
- Primitives will have their values extracted from the first ordinal with a schema that defaults
to the name `value`.
請看最後一點。您的查詢僅映射到基元,因此Catalyst使用名稱「值」。
如果添加.select('value.as("MyPropertyName")).as[CaseClass]
,則字段名稱將是正確的。
類型,將有列名 「值」:
- 選項(_)
- 陣列
- 集合類型,如序列,地圖
- 類型如String,時間戳,日期,BigDecimal的
相關問題
- 1. 將陣列映射到控件時避免重複代碼
- 2. 如何避免重命名OleDbConnection的數據源
- 3. nHibernate命名查詢將數據映射到類映射
- 4. 如何避免在do.call中使用rbind時重命名行?
- 5. JPA SortedMap映射 - 避免兩列與鍵
- 6. ObjectContext.Translate:避免列映射錯誤
- 7. 避免將屬性映射到表
- 8. 如何使用Nhibernate的loquacious映射將SQL函數映射爲命名查詢?
- 9. 如何避免重複的列值
- 10. 如何避免在將數據庫表映射到數據契約時創建附加類?
- 11. 將數值列表映射爲顏色
- 12. 如何避免與htaccess重複的內容映射網址
- 13. 如何避免重複值?
- 14. 如何避免重複值
- 15. 避免重名
- 16. 避免重複父對象與屬性-REF映射時
- 17. 使用列表重命名數據集
- 18. 如何避免數值數據溢出
- 19. 如何避免空行數據轉換爲列數據在mysql中值
- 20. 如何重命名共享庫以避免同名衝突?
- 21. 如何避免在Javascript中重複命名空間
- 22. R重命名數據集
- 23. 避免重命名圖形對象
- 24. 如何避免數據重複插入?
- 25. 如何避免重複數據插入?
- 26. 避免數據表中的重複值
- 27. 如何重新命名JSON映射在C#中被接受爲身體參數?
- 28. 如何映射numpy數據集?
- 29. 如何強制spark以避免數據集重新計算?
- 30. 如何爲Dapper中的多映射支持命名列?
示例代碼將有所幫助:) –