Pyspark 如何为Structure Streaming中的每个记录创建唯一的ID

Pyspark 如何为Structure Streaming中的每个记录创建唯一的ID,pyspark,spark-structured-streaming,Pyspark,Spark Structured Streaming,我的结构化流媒体程序正在从卡夫卡读取数据。 我必须为每个输入记录创建唯一的ID。有什么方法可以用吗 我尝试了单调递增的\u id()方法,但它总是给出0的值 DF_ID = DF.withColumn("Date",split(col("root"), "\\|").getItem(0)) \ .withColumn("InventoryAction_SKEY", monotonically_increasing_id()) 为什么不为每个记录随机生成足够长的ID?@Ranjith

我的结构化流媒体程序正在从卡夫卡读取数据。 我必须为每个输入记录创建唯一的ID。有什么方法可以用吗

我尝试了
单调递增的\u id()
方法,但它总是给出0的值

DF_ID = DF.withColumn("Date",split(col("root"), "\\|").getItem(0)) \
      .withColumn("InventoryAction_SKEY", monotonically_increasing_id())

为什么不为每个记录随机生成足够长的ID?@Ranjithredy如果它被重置为0,可能有多种原因。这种方法的假设是数据帧的分区少于10亿,每个分区的记录少于80亿,我希望不是这样。而且,记录ID是暂时的,每次对其进行序列化和反序列化并在每个分区内初始化记录ID时,count的值都会重置为0