У меня есть функция в pyspark. Он берет список фреймов данных искры "tLst" и путь к файлу "Bpth" и записывает каждый фрейм данных искры в "Bpth" как файлы паркета. Я обнаружил, что для некоторых фреймов данных снова и снова записывается первый фрейм данных вместо правильного фрейма данных. Например, он записывает фрейм данных о налогах в пути клиентов и поставщиков. Я проверил список ввода, и это правильно. 11 и 12 записей являются покупателем и продавцом. Кто-нибудь знает, что может вызвать эту проблему и предложить, как исправить? До недавнего времени эта функция работала нормально. Кроме того, если я записываю одни и те же кадры данных по одному в блокнот jupyter, они записываются правильно.
функция:
def tblwrtr(tLst,Bpth):
# write tables to s3 bucket
bckt_pth1=Bpth
#taxes
tLst[0].write.mode("overwrite").parquet(bckt_pth1+'taxes')
time.sleep(2)
#discounts
tLst[1].write.mode("overwrite").parquet(bckt_pth1+'discounts')
time.sleep(2)
#store
tLst[2].write.mode("overwrite").parquet(bckt_pth1+'store')
time.sleep(2)
#employee
tLst[3].write.mode("overwrite").parquet(bckt_pth1+'employee')
time.sleep(2)
#product
tLst[4].write.mode("overwrite").parquet(bckt_pth1+'product')
time.sleep(2)
#fulfillment
tLst[5].write.mode("overwrite").parquet(bckt_pth1+'fulfillment')
time.sleep(2)
#inventory
tLst[6].write.mode("overwrite").parquet(bckt_pth1+'inventory')
time.sleep(2)
#invoice_payments
tLst[7].write.mode("overwrite").parquet(bckt_pth1+'invoice_payments')
time.sleep(2)
#visits
tLst[8].write.mode("overwrite").parquet(bckt_pth1+'visits')
time.sleep(2)
#cash_handling
tLst[9].write.mode("overwrite").parquet(bckt_pth1+'cash_handling')
time.sleep(2)
#ticket
tLst[10].write.mode("overwrite").parquet(bckt_pth1+'ticket')
time.sleep(2)
#customer
tLst[11].write.mode("overwrite").parquet(bckt_pth1+'customer')
time.sleep(2)
#vendor
tLst[12].write.mode("overwrite").parquet(bckt_pth1+'vendor')
time.sleep(2)
#payments
tLst[13].write.mode("overwrite").parquet(bckt_pth1+'payments')
time.sleep(2)
#daily_units_remaining
tLst[14].write.mode("overwrite").parquet(bckt_pth1+'daily_units_remaining')
time.sleep(2)