scala—如何从sparkDataframe中的列中获取常量值

zhte4eai  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(422)

我有下面这个dataframe,其中某些列(如version和datsetname)应该是常量。我试图将这些常量放入一个变量中(版本是float类型,datasetname是string)。
|id |版本|数据集名称

|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和version分别转换为string和float变量的最佳方法是什么。

pxq42qpu

pxq42qpu1#

检查以下代码。
威瑞森

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

相关问题