通过scala获取存储在azure data lake中的文件名列表
To get the list of filename stored in azure data lake through scala
我需要 databricks notebook 上 azure data lake store 的文件列表。
我有一个 scala 脚本,但我认为它只能从本地文件系统访问文件。
val path = "adl://datalakename.azuredatalakestore.net"
import java.io._
def getListOfFiles(dir: String): List[String] = {
val file = new File(dir)
file.listFiles.filter(_.isFile)
.filter(_.getName.endsWith(".dat"))
.map(_.getPath).toList
}
getListOfFiles(path + "/folder/subfolder/")
但它无法工作并抛出异常错误 - java.lang.NullPointerException
python/scala 中的任何建议或帮助。
如果你正在使用 Azure Databricks,你可以只使用 dbutils:
// Access Azure Data Lake Store
spark.conf.set("dfs.adls.oauth2.access.token.provider.type", "ClientCredential")
spark.conf.set("dfs.adls.oauth2.client.id", "xxx)
spark.conf.set("dfs.adls.oauth2.credential", "xxx")
spark.conf.set("dfs.adls.oauth2.refresh.url", "https://login.windows.net/xxx/oauth2/token")
val path="adl://datalakename.azuredatalakestore.net"
val filelist=dbutils.fs.ls(path)
print(filelist)
有关更多信息,请输入:
dbutils.fs.help()
我需要 databricks notebook 上 azure data lake store 的文件列表。 我有一个 scala 脚本,但我认为它只能从本地文件系统访问文件。
val path = "adl://datalakename.azuredatalakestore.net"
import java.io._
def getListOfFiles(dir: String): List[String] = {
val file = new File(dir)
file.listFiles.filter(_.isFile)
.filter(_.getName.endsWith(".dat"))
.map(_.getPath).toList
}
getListOfFiles(path + "/folder/subfolder/")
但它无法工作并抛出异常错误 - java.lang.NullPointerException python/scala 中的任何建议或帮助。
如果你正在使用 Azure Databricks,你可以只使用 dbutils:
// Access Azure Data Lake Store
spark.conf.set("dfs.adls.oauth2.access.token.provider.type", "ClientCredential")
spark.conf.set("dfs.adls.oauth2.client.id", "xxx)
spark.conf.set("dfs.adls.oauth2.credential", "xxx")
spark.conf.set("dfs.adls.oauth2.refresh.url", "https://login.windows.net/xxx/oauth2/token")
val path="adl://datalakename.azuredatalakestore.net"
val filelist=dbutils.fs.ls(path)
print(filelist)
有关更多信息,请输入: dbutils.fs.help()