【发布时间】:2017-07-19 16:49:43
【问题描述】:
我需要读取 parquet 文件并在 表格格式如下图,
**Required output**
column_name | min_value | max_value
:----- | ----- :|:----:
a | 1 | 21
:----- |------ :|:----:
b | 2 | 30
下面的代码,我可以读取 parquet 文件并生成 min 所有列的最大输出,但不是按照要求的格式,而是 生成的输出是水平对齐的。
//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
有没有办法可以将生成的输出正确放置 垂直对齐格式的列名称,如必填项中所示 上面的输出部分。
【问题讨论】:
标签: scala apache-spark apache-spark-sql spark-dataframe