如何解决将文件写入Blob容器时,在根容器中创建空文件
将数据从数据帧写入路径 路径= rootcontainer / container1 +“ /” + fileName df.repartition(1) 。写 .format(“ com.databricks.spark.csv”) .option(“ header”,“ true”) .option(“定界符”,定界符) .option(“ quote”,“ \ u0000”) .mode(SaveMode.Overwrite) .save(path)
执行上述命令时,除了在rootcontainer / container1 / fileName中创建实际文件之外,它还在rootcontainer / container1中创建空的blob文件(fileName)
如何避免在根文件夹中创建空blob?
解决方法
这在多个Azure Blob存储工具(AZCopy,Data Factory,某些Spark作业等)中经常发生。原因是目录/文件夹实际上并不存在于Blob存储中,而是命名约定的一部分。结果,其中一些工具会在其过程中创建0字节的工件来表示这些路径。有些工具在清理它们之后比其他工具做得更好,但是确实没有办法阻止它们的产生。操作完成后,您可以删除它们而不会造成任何后果。
这只是我的猜测,但可能会有用的一件事是使用Data Lake Storage而不是传统的Blob存储。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。