0
scala를 사용하여 데이터 프레임의 모든 열의 평균 문자열 길이를 계산할 수있는 방법이 유용하지 않습니다. 나는 수 있었다 쉽게데이터 프레임의 열의 평균 문자열 길이 계산
val avgDF = df.dtypes.filter(x => x._2 == "DoubleType").map(ct =>avg(col(ct._1))).toList
scala를 사용하여 데이터 프레임의 모든 열의 평균 문자열 길이를 계산할 수있는 방법이 유용하지 않습니다. 나는 수 있었다 쉽게데이터 프레임의 열의 평균 문자열 길이 계산
val avgDF = df.dtypes.filter(x => x._2 == "DoubleType").map(ct =>avg(col(ct._1))).toList
발 findLength = UDF 다음을 수행 숫자 열을 위해 그것을 할 수 있습니다 {(COLVALUE : 문자열) => ColValue.size}
myData.dtypes.filter(x=>x._2=="StringType").foreach(f=>
myData.select(avg(findLength(col(f._1)))).show()
)
샘플 데이터
을Name|Age|email
Hari|12|[email protected]
Hari|12|[email protected]
Hari|12|[email protected]
Hari|12|[email protected]
Hasasasi|12|[email protected]
출력
+-------------------+
|AVG(scalaUDF(Name))|
+-------------------+
| 4.8|
+-------------------+
+--------------------+
|AVG(scalaUDF(email))|
+--------------------+
| 16.8|
+--------------------+
import org.apache.spark.sql.functions._
val avgDF = df.agg(mean(length(col("yourColumn"))))
내 목표는 String 유형의 모든 열에 대한 평균 문자열 길이를 찾는 것입니다. 이 방법은 작동하지 않습니다. 아마도 UDF를 정의해야한다고 생각하고 있습니다. – jojo