随机化pyspark列值?

问题描述 投票:0回答:1

我是pyspark编程的初学者。我在csv文件中包含以下数据,该文件正在读取到spark数据帧中。

enter image description here

# read the csv file in a spark dataframe
df = (spark.read
       .option("inferSchema", "true")
       .option("header", "true")
       .csv(file_path))

我想分别对每列中的数据进行改组,分别是“ InvoiceNo”,“ StockCode”,“ Description”,如下快照所示。

enter image description here

下面的代码被实现为随机按列值排序-

from pyspark.sql.functions import *

df.orderBy("InvoiceNo", rand()).show(10)

即使执行上述操作后,我也没有得到正确的输出。谁能帮助解决问题?还引用了此链接:Randomly shuffle column in Spark RDD or dataframe,但是提到的代码引发错误。

apache-spark pyspark apache-spark-sql shuffle databricks
1个回答
0
投票
df.withColumn('rand', rand(seed=42)).orderBy('rand')
© www.soinside.com 2019 - 2024. All rights reserved.