A8H*_*8H1 2 scala maxlength aggregation apache-spark
我是spark scala的新手,我有以下情况我在集群上有一个表“TEST_TABLE”(可以是hive表)我正在将它转换为数据帧:
scala> val testDF = spark.sql("select * from TEST_TABLE limit 10")
Run Code Online (Sandbox Code Playgroud)
现在可以将 DF 视为
scala> testDF.show()
COL1|COL2|COL3
----------------
abc|abcd|abcdef
a|BCBDFG|qddfde
MN|1234B678|sd
Run Code Online (Sandbox Code Playgroud)
我想要一个像下面这样的输出
COLUMN_NAME|MAX_LENGTH
COL1|3
COL2|8
COL3|6
Run Code Online (Sandbox Code Playgroud)
在 spark scala 中这样做是否可行?
小智 8
干净利落:
import org.apache.spark.sql.functions._
val df = spark.table("TEST_TABLE")
df.select(df.columns.map(c => max(length(col(c)))): _*)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2973 次 |
| 最近记录: |