[英]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.