2017-05-18 2 views
1

私はどのように理解しようとしていますmountが動作します。私はSという名前のS3バケットを持っていて、そこにはtestというフォルダがあります。それはS3 myBとdatabricksの間のリンクを作成しない、とdatabricksは、すべてのファイルがtestフォルダの下にファイルをインクルードアクセスします。私はマウントS3をdatabricks

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

私の質問は、つまりを使用してマウントしたのですか? (私はマウント使用してVARを行う場合やAwsBucketName = "myB/test"は、それが唯一の外のフォルダの他の任意のファイルをそのフォルダtestにdatabricksをリンクするのではなく?)

もしそうなら、どのように私はそのファイルを読み込み、リストファイルtestフォルダに言うのですかまたはcounts()を使ってcsvファイルをスカラーにしますか?私はdisplay(dbutils.fs.ls("/mnt/myB"))を実行し、テストフォルダのみを表示しますが、ファイルは表示しません。ここではかなり新しい。ご協力いただき誠にありがとうございます! Databricksのドキュメントから

答えて

1

// 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:[email protected]$AwsBucketName", s"/mnt/$MountName") 
display(dbutils.fs.ls(s"/mnt/$MountName")) 

あなたがマウントされたディレクトリ内のファイルを見ることができない場合、あなたがS3バケットへのリンクではないの/ mntの下にディレクトリを作成している可能性があります。その場合は、上記のコードサンプルを使用してディレクトリ(dbfs.fs.rm)を削除して再マウントしてみてください。 AWSクレデンシャル(上記のAccessKeyとSecretKey)が必要です。あなたがそれらを知らない場合は、あなたのAWSアカウントの管理者に問い合わせる必要があります。

関連する問題