在 Python 中再次循环
Loop again through loop in Python
我有一个 table 超过 10000 条记录,我想将数据处理到另一个来源。
我不想一次发送记录,而是将它们分成几批,即 batch_size=1000。
因此该循环将发送 1000 条记录,然后发送下 1000 条记录,以此类推直到最后一条记录。
我怎样才能把它放在 2 个循环中,以便外循环用于选择 1000 条记录,而内循环用于处理这些记录。处理完成后,它应该返回到外循环,为接下来的 1000 条记录递增,然后是 运行 内循环,依此类推,直到达到 total_rows。
请帮忙。
您可以使用 pyspark.sql.functions.slice
分割您的 DataFrame,
但您也可以“步行”,使用常规列表切片。
rows = dfpatch.rdd.collect()
batch_size = 1000
batches = [rows[r:r + batch_size] for r in range(0, len(rows), batch_size)]
print(len(batches)) # -> 11
for batch in batches:
for row in batch:
# ...
我有一个 table 超过 10000 条记录,我想将数据处理到另一个来源。 我不想一次发送记录,而是将它们分成几批,即 batch_size=1000。 因此该循环将发送 1000 条记录,然后发送下 1000 条记录,以此类推直到最后一条记录。
我怎样才能把它放在 2 个循环中,以便外循环用于选择 1000 条记录,而内循环用于处理这些记录。处理完成后,它应该返回到外循环,为接下来的 1000 条记录递增,然后是 运行 内循环,依此类推,直到达到 total_rows。 请帮忙。
您可以使用 pyspark.sql.functions.slice
分割您的 DataFrame,
但您也可以“步行”,使用常规列表切片。
rows = dfpatch.rdd.collect()
batch_size = 1000
batches = [rows[r:r + batch_size] for r in range(0, len(rows), batch_size)]
print(len(batches)) # -> 11
for batch in batches:
for row in batch:
# ...