scalaRDD轉df欄位受限為22個

2021-10-04 20:57:01 字數 1483 閱讀 9673

一、背景

1、在scala-2.10.x版本種,case class的元素超過22個以後即會編譯報錯

2、有些業務場景下,需要超過22個元素的值

二、如何解決

scala提供了解決方案,即使用類實現product特質

三、舉例

package com.ngaa.scala

/*** @author created by yangjf on 20180712.

*         update date:

*         time: 15:43

*         project: dev-spark01-examples

*         package: com.ngaa.scala

*         describe :   scala構建超過22個元素的class

*                      api參考:

*                            

*                      學習參考:

*                            

object more22elements

}/** student類中有大於22個元素的實現  */

class student(one: int, two: int, three: int, four: int, five: int

, six: int, seven: int, eight: int, nine: int, ten: int, eleven: int, twelve: int

, thirteen: int, fourteen: int, fifteen: int, sixteen: int

, seventeen: int, eighteen: int, nineteen: int, twenty: int, first: int, second: int

,third:int, fourth: int, fifth: int, sixth: int, seventh: int) extends product

/*** 2023年7月13日14:26:46

* 根據下標獲取元素

** @param n 下標

* @return 元素

*/override def productelement(n: int): int = arrays(n)

/*** 2023年7月13日14:27:10

* 元素個數

** @return 元素個數

*/override def productarity: int = arrays.length

/*** 2023年7月13日14:31:54

* 類似tostring方法

** @return 元素鏈結字串

*/override def productprefix = arrays.mkstring("\t")

}

pandas高階操作 list 轉df 重取樣

coding utf 8 usr bin python 字典轉資料框 dataframe from pandas.core.frame import dataframe a 1,2,3,4 列表a b 5,6,7,8 列表b c 將列表a,b轉換成字典 data dataframe c 將字典轉換成...

轉 多欄位排序

多欄位排序的問題其實很簡單,只要實現乙個自己的comparator就可以。例如我有乙個類 class student 然後我有乙個arraylist,新增了三個學生進去 public static void main string args 我的排序規則是,先按名字牌,如果名字一樣的,按照id來排,...

轉 MySQL的自增欄位

from 1.關鍵字 auto increment 2.自增用法 例 create table animals id mediumint not null auto increment,name char 30 not null,primary key id 3.關於自增 q 怎麼獲得當前的自增的最...