gpt4 book ai didi

scala - 将 S3 挂载到数据 block

转载 作者:行者123 更新时间:2023-12-04 02:05:12 25 4
gpt4 key购买 nike

我想了解如何mount作品。我有一个名为 myB 的 S3 存储桶,其中有一个名为 test 的文件夹.我做了一个安装使用

var AwsBucketName = "myB"
val MountName = "myB"

我的问题是:它是否会在 S3 myB 之间创建链接?和databricks,并且databricks 会访问所有文件,包括 test 下的文件文件夹? (或者,如果我使用 var AwsBucketName = "myB/test" 进行挂载,它是否仅将数据块链接到该文件夹​​ test 而不是该文件夹之外的任何其他文件?)

如果是这样,我怎么说 test 中的列表文件文件夹,在 Scala 中读取该文件或 count() 一个 csv 文件?我做了一个 display(dbutils.fs.ls("/mnt/myB"))它只显示测试文件夹,而不显示其中的文件。这里很新。非常感谢您的帮助!

最佳答案

来自 Databricks 文档:

// Replace with your values
val AccessKey = "YOUR_ACCESS_KEY"
// Encode the Secret Key as that can contain "/"
val SecretKey = "YOUR_SECRET_KEY".replace("/", "%2F")
val AwsBucketName = "MY_BUCKET"
val MountName = "MOUNT_NAME"

dbutils.fs.mount(s"s3a://$AccessKey:$SecretKey@$AwsBucketName", s"/mnt/$MountName")
display(dbutils.fs.ls(s"/mnt/$MountName"))

如果您看不到挂载目录中的文件,则可能是您在/mnt 下创建了一个不是指向 s3 存储桶的链接的目录。如果是这种情况,请尝试删除目录 (dbfs.fs.rm) 并使用上述代码示例重新挂载。请注意,您将需要您的 AWS 凭证(上面的 AccessKey 和 SecretKey)。如果您不认识他们,则需要向您的 AWS 账户管理员询问他们。

关于scala - 将 S3 挂载到数据 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44039291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com