当前位置: 首页 > 知识库问答 >
问题:

Spark dataframe(在Azure Databricks中)保存在数据湖(gen2)上的单个文件中,并重命名该文件

孟建木
2023-03-14

我试图实现与此相同的功能,所以除了我的文件位于Azure Data Lake Gen2,我在Databricks Notebook中使用pyspark之外,将Spark dataframe保存在hdfs位置上的单个文件中。

下面是我用来重命名文件的代码段

from py4j.java_gateway import java_import
java_import(spark._jvm, 'org.apache.hadoop.fs.Path')

destpath = "abfss://" + contianer + "@" + storageacct + ".dfs.core.windows.net/"
fs = spark._jvm.org.apache.hadoop.fs.FileSystem.get(spark._jsc.hadoopConfiguration())
file = fs.globStatus(sc._jvm.Path(destpath+'part*'))[0].getPath().getName()
#Rename the file
file = fs.globStatus(sc._jvm.Path(destpath+'part*'))[0].getPath().getName()

1)重命名databricks(pyspark)写入Azure DataLakeGen2的文件是否正确,如果不正确,我还能如何完成?

共有1个答案

陆正奇
2023-03-14

通过在我的databricks笔记本中安装Azure.Storage.FileDataLake客户机库,我能够解决这个问题。通过使用FileSystemClient类和DataLakeFileClient类,我能够重命名data lake Gen2中的文件。

 类似资料:
  • 我有dataframe,我想在hdfs位置上保存在单个文件中。 我在这里找到了解决方案,使用spark-csv编写单个CSV文件 这可能吗? 任何帮助都很感激

  • 问题内容: 我有类似的文件在系统中。我想编写一个bash shell脚本,该脚本应该通过从文件中删除“ _dbg”来重命名这些文件。 Google建议我使用命令。所以我在 我的实际文件包含以下文件。 执行命令后, 它不是递归执行的操作,如何使此命令重命名所有子目录中的文件。Like 和我将有很多子目录,这些子目录的名称不可预测。而且我还将拥有一些其他文件。 问题答案: 您可以用来递归查找所有匹配文

  • 嗨,我有我的火花数据帧的输出,它创建文件夹结构并创建零件文件。现在我必须合并文件夹内的所有零件文件并将该文件重命名为文件夹路径名。 这就是我做分区的方式 它创建如下文件夹结构 我必须创建这样的最终文件 此处没有零件文件bith 001和002合并为两个一个。 我的数据大小非常大300 GB gzip和35 GB zip,因此变得非常慢。 我在这里看到了一个使用spark CSV编写单个CSV文件的

  • 问题内容: 如何重命名以下文件: 分为以下几个: 相关代码为: 问题答案: 一行可以分为:

  • 问题内容: 我使用此命令查找具有给定模式的文件,然后将其重命名为其他文件 运行此命令时,我看到一些类似的输出 但是最后,当我运行时,我看到了旧文件名。 问题答案: 您正在回显’mv’命令,而不是实际执行它。改成: