需求: 有一张很大的表,需要对每一行数据的某几列(a, b, c, d)特定字段值做MD5加密,并将加密字段重新命名,放在每行数据的后面。
实现:
-
具体代码
val result: DataFrame = spark.sql(s"select a, b, c, d, md5(concat_ws('|', a, b, c, d)) as hash_code from temp_table") result.printSchema() result.show()
-
函数解释
- concat_ws(’|’, a, b, c, d) 用 “|” 将 a,b,c,d 连接起来
- md5(…) 调用md5方法进行加密,并重命名为 hash_code
完毕!