簡體   English   中英

如何使數據框成為案例類?

[英]How to make a dataframe into a case class?

許多文檔顯示,可以從案例類轉到數據框,但是我一直沒有找到從數據框轉到案例類的好方法。

假設我有一個包含50列的數據框,但想選擇大約5列並將其放入新表中。 我可以這樣處理:

sqlContext.sql("select [1, 2, 3, 4, 5] from test").registerTempTable("newTable")

但是newTable將有一些其他列,例如6、7作為自定義值(或現在為0,但是該列在測試表中不存在)。 為了解決這個問題,我試圖創建一個如下的case類:

case class newTable(1, 2, 3, 4, 5, 6, 7)

最后,我想從測試表中提取第1至5列,然后輸入6、7。 我只是沒有找到一個很好的方法來做到這一點。

您可以這樣使用:

dataframe.select($"1".as("1"), $"2".as("2"), $"3".as("3"), $"4".as("4"), $"5".as("5")).as[newTable]

注意:您應該在案例類中將列名與字段名匹配

暫無
暫無

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

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