我想将带有生成 id 的列添加到我的数据框中。我努力了:
uuidUdf = udf(lambda x: str(uuid.uuid4()), StringType())
df = df.withColumn("id", uuidUdf())
但是,当我这样做时,没有任何内容写入我的输出目录。当我删除这些行时,一切正常,因此肯定存在一些错误,但我在控制台中没有看到任何内容。
我尝试过使用 monotonically_increasing_id() 而不是生成 UUID,但在我的测试中,这会产生许多重复项。我需要一个唯一标识符(不一定是 UUID)。
我怎样才能做到这一点?
请尝试这个:
import uuid
from pyspark.sql.functions import udf
uuidUdf= udf(lambda : str(uuid.uuid4()),StringType())
Df1 = Df.withColumn("id",uuidUdf())
Note:添加新列后应分配给新的 DF。 (Df1 = Df.withColumn(....)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)