簡體   English   中英

如何從 Spark Dataframes 中的列中獲取常量值

[英]How to fetch the constant value from a column in Spark Dataframes

我在 dataframe 之后有這個,其中版本和 datSetName 等某些列應該是常量。 我試圖將這些常量放入一個變量中(版本是 float 類型,dataSetName 是字符串)。

|id |version |數據集名稱

|1     |1.0      | employee
|2     |1.0      | employee
|3     |1.0      | employee
|4     |1.0      | employee

使用以下方式給我一行

val datSetName = df.select("dataSetName").distinct.collect()(0)

將 dataSetName 和版本分別放入 String 和 Float 變量的最佳方法是什么。

檢查下面的代碼。

版本

df
.select("version")
.distinct.map(_.getAs[Double](0))
.collect
.head

數據集名稱

df
.select("dataSetName")
.distinct
.map(_.getAs[String](0))
.collect
.head

版本和數據集名稱

df
.select("version","dataSetName")
.distinct
.map(c => (c.getAs[Double](0),c.getAs[String](1)))
.collect
.head

(Double, String) = (1.0,employee) // Output

這是在 Python 而不是 scala 但肯定有一個 scala 等效:

將火花 dataframe 變成 pandas dataframe:

constant_df = df.select("col_where_constant_value_is").distinct().toPandas()

獲取常量值:

constant_value = constant_df.iloc[0,0]

暫無
暫無

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

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