Content #
withColumnRenamed 是重命名现有的数据列,而 withColumn 则用于生成新的数据列。
如果打算把 employeesDF 当中的“gender”重命名为“sex”,就可以用 withColumnRenamed 来帮忙:
employeesDF.withColumnRenamed(“gender”, “sex”)。
withColumn 也可以充分利用 Spark SQL 提供的 Built-in Functions 来灵活地生成数据。
比如,基于年龄列,我们想生成一列脱敏数据,隐去真实年龄,你就可以这样操作。
scala> employeesDF.withColumn("crypto", hash($"age")).show
+---+-------+---+------+-----------+
| id| name|age|gender| crypto|
+---+-------+---+------+-----------+
| 1| John| 26| Male|-1223696181|
| 2| Lily| 28|Female|-1721654386|
| 3|Raymond| 30| Male| 1796998381|
+---+-------+---+------+-----------+
我们使用内置函数 hash,生成一列名为“crypto”的新数据,数据值是对应年龄的哈希值。
Viewpoints #
From #
16 | 数据转换:如何在DataFrame之上做数据处理?