您可以使用我会话令牌使用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的关键。令牌<标记>