在java中使用spark选择列及其数据帧的最大长度

问题描述 投票:0回答:1

我是 Spark 新手。

我想在java中选择spark数据帧的列名及其最大长度。

我正在使用火花。我发现很少,但那些是在 scala 和 python 中的,而那些在 Spark 中不起作用。 输入和预期输出如下。

我想找到每列中最长元素的长度。

我尝试

df.select(Arrays.stream(df.columns().map(colname - > df.agg(max(length(col(colname))).head().get(0));

但不确定如何获取具有列名称及其最大长度的数据框。

问候, 普拉莫德

java dataframe apache-spark aggregate
1个回答
0
投票

你很接近

df.select(Arrays.stream(df.columns()).map(colname -> max(length(col(colname)))).toArray(Column[]::new))
© www.soinside.com 2019 - 2024. All rights reserved.