重命名书面CSV文件,Spark引发错误“路径必须是绝对的-Azure Data Lake]

问题描述 投票:0回答:1

我尝试了在Rename written CSV file Spark中描述的解决方案,但出现以下错误“ java.lang.IllegalArgumentException:路径必须是绝对的”。我该如何解决?它可以是scala或Python代码。谢谢:)

import org.apache.hadoop.fs._
val fs = FileSystem.get(sc.hadoopConfiguration)

var table_name = dbutils.widgets.get("table_name")

val filePath = "mnt/datalake/" + table_name + "/"

print("file path: " + filePath)

val fileName = fs.globStatus(new Path(filePath+"part*"))(0).getPath.getName
print("file name: " + fileName)

fs.rename(new Path(filePath+fileName), new Path(filePath+"file.csv"))

输出:

file path: mnt/datalake/MyTable/
file name: part-00000-tid-9118XXX-c000.csv

错误

java.lang.IllegalArgumentException: Path must be absolute: mnt/datalake/MyTable/part-00000-tid-9118XXXXc000.csv
python scala apache-spark databricks azure-data-lake
1个回答
0
投票

尝试一下:

import org.apache.hadoop.fs._
import org.apache.hadoop.fs.{FileSystem, Path}
val fs = FileSystem.get(sc.hadoopConfiguration)
val filePath = "dbfs:/FileStore/tables/part_00000-6a99e/"
val fileName = fs.globStatus(new Path(filePath))(0).getPath.getName
fs.rename(new Path(filePath+fileName), new Path(filePath+"file.csv"))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.