我想用$值连接DataSet中的列。
我的数据集就是这样。
+---------+-------------------+
|C1 | C2 |
+---------+-------------------+
| 448631| -2219.13|
| 444000| -12546.84|
| 411000| 186719.0|
我想获得这样的东西:
+---------+------------------- +
|C1 | C2 |
+---------+------------------- +
| 448631 $| -2219.13 $|
| 444000 $| -12546.84 $|
| 411000 $| 186719.0 $|
有人可以用简单的表达方式指导我。
最佳答案
您可以基于旧列创建新列,然后删除旧列。以下是Python实现:
from pyspark.sql import functions as F
...
originalDF = spark.createDataFrame([(111, 222), (333, 444), (555, 666)], ['C1', 'C2'])
originalDF.show()
expectedDF = originalDF.withColumn('NewC1', F.concat(F.col('C1'), F.lit(' $')))\
.withColumn('NewC2', F.concat(F.col('C2'), F.lit(' $')))\
.drop(F.col('C1'))\
.drop(F.col('C2'))
expectedDF.show()
原始DataFrame:
+---+---+
| C1| C2|
+---+---+
|111|222|
|333|444|
|555|666|
+---+---+
预期的DataFrame:
+-----+-----+
|NewC1|NewC2|
+-----+-----+
|111 $|222 $|
|333 $|444 $|
|555 $|666 $|
+-----+-----+
关于apache-spark - 使用Value Spark Java API连接数据集中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50187904/