您可以使用我會話令牌使用Hadoop配置支持訪問S3存儲數據磚運行時8.3及以上。
從集群中提取會話的憑證
從集群中提取會話的憑證。
你需要的實例配置文件從你的集群。這下可以找到高級選項在集群配置。
使用curl來顯示AccessKeyId,SecretAccessKey,令牌。
% sh curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ < instance-profile >
或者,您可以使用Python腳本。
% = requests.get python導入請求導入json響應(" http://169.254.169.254/latest/meta-data/iam/security-credentials/ < instance-profile >”)憑證= response.json()打印(憑證)
IP地址不應該修改。169.254.169.254隻是一個鏈接地址和有效的實例。
在一個筆記本使用會話的憑證
您可以使用會話憑證輸入到一個筆記本。
% python AccessKey = " < AccessKeyId >“秘密= < SecretAccessKey >”牌= <標記>“sc._jsc.hadoopConfiguration()這裏(“fs.s3a.aws.credentials。提供者”、“org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider”) sc._jsc.hadoopConfiguration()這裏(“fs.s3a.access。鍵”,AccessKey) sc._jsc.hadoopConfiguration()這裏(“fs.s3a.secret。鍵”,秘密)sc._jsc.hadoopConfiguration()這裏(“fs.s3a.session。令牌,令牌)
一旦加載在筆記本上會話的憑證,您可以訪問文件在S3 bucket S3A URI。
% python dbutils.fs.ls (“s3a: / / < path-to-folder > /”)
使用會話憑證集群中配置
你可以將會話證書添加到集群中火花配置。這使得它們可以訪問所有筆記本在集群上。
fs.s3a.aws.credentials。提供者org.apache.hadoop.fs.s3a。TemporaryAWSCredentialsProvider fs.s3a.access。< AccessKeyId > fs.s3a.secret的關鍵。< SecretAccessKey > fs.s3a.session的關鍵。令牌<標記>