我按幾列分組,正在從這些列中得到WrappedArray
,正如您在架構中所見。我如何擺脫它們,以便我可以繼續下一步並執行orderBy
?如何在Spark中獲得WrappedArray的第一個值?
val sqlDF = spark.sql("SELECT * FROM
parquet.`parquet/20171009121227/rels/*.parquet`")
得到一個數據框:
val final_df = groupedBy_DF.select(
groupedBy_DF("collect_list(relev)").as("rel"),
groupedBy_DF("collect_list(relev2)").as("rel2"))
然後打印模式給了我們:final_df.printSchema
|-- rel: array (nullable = true)
| |-- element: double (containsNull = true)
|-- rel2: array (nullable = true)
| |-- element: double (containsNull = true)
樣品電流輸出:
我想轉換成這樣:
|-- rel: double (nullable = true)
|-- rel2: double (nullable = true)
期望中的例子輸出(從上面的圖片):
-1.0,0.0
-1.0,0.0
collect_list肯定會創建一個WrappedArray。您是否可以提供樣本輸出作爲您希望輸出數據框的方式? –
@RameshMaharjan我添加了所需的輸出 – dedpo
如果你有更多的這一行的組?即如果你有[WrappedArray(-1.0,1.0),WrappedArray(0.0,0.0)]?您打算如何將其轉換爲最終的輸出數據框? –