情况如下:
Pyspark正在生成所需的csv格式(零件文件)沿着其他文件,如_成功”,_已提交”,_已启动”因此,当这些文件保存在blob存储中时,blob触发器执行4次(添加到blob的文件数)。是否有更好的方法来避免它&仅在生成csv文件时执行blob触发器?
y53ybaqx1#
如果您的Blob触发器位于Data factory、逻辑应用程序或Synapse中,您可以按照**@Joel Charan**的建议将.csv作为后缀。
.csv
_成功",_已提交",_已启动"默认情况下,将在spark中创建这些文件。如果您想避免它们,并且只存储单个csv文件,另一个替代方法是将Pyspark Dataframe 转换为pandas Dataframe ,并在挂载后将其存储在单个csv文件中。
pandas
from pyspark.sql.functions import current_timestamp dateFormat = "%Y%m%d_%H%M" ts=spark.sql(""" select current_timestamp() as ctime """).collect()[0]["ctime"] sub_fname=ts.strftime(dateFormat) filename="/dbfs/mnt/data/folder1/part-"+sub_fname+".csv" print(filename) pandas_converted=df.toPandas() pandas_converted.to_csv(filename)
1条答案
按热度按时间y53ybaqx1#
如果您的Blob触发器位于Data factory、逻辑应用程序或Synapse中,您可以按照**@Joel Charan**的建议将
.csv
作为后缀。_成功",_已提交",_已启动"
默认情况下,将在spark中创建这些文件。
如果您想避免它们,并且只存储单个csv文件,另一个替代方法是将Pyspark Dataframe 转换为
pandas
Dataframe ,并在挂载后将其存储在单个csv文件中。