我需要读取拼花文件并生成在 表格格式的最小最大输出如以下所示,计算最小最大火花数据帧和垂直对齐输出
**Required output**
column_name | min_value | max_value
:----- | ----- :|:----:
a | 1 | 21
:----- |------ :|:----:
b | 2 | 30
下面的代码,我能够读parquet文件并为所有列生成最大输出,但不是按照所需格式生成,但生成的输出是水平排列的。
//Read parquet file
val parquetRDD = spark.read.parquet("filename.parquet")
//Calculate min and max value of columns
val minColumns = parquetRDD.columns.map(name => min(col(name)))
val maxColumns = parquetRDD.columns.map(name => max(col(name)))
val allMinMax = minColumns ++ maxColumns
//Generate output
val result = parquetRDD.agg(allMinMax.head, allMinMax.tail: _*).show()
**Current Generated Output**
min(a) | min(b) | max(a) | max(b)
:----- | -----: | ----: | :----:
1 | 2 | 21 | 30
有一种方法,我可以把适当 列名所产生的输出在垂直alined格式如图中必需 输出部的上方。
[火花数据框中的列迭代并计算最小值最大值](https://stackoverflow.com/questions/45171920/iterate-across-columns-in-spark-dataframe-and-calculate-min-最大值) –