我在prod
和test
环境中将文件存储在S3存储桶中。我的代码将在两种环境下的分布式系统中执行。而且我想从DBFS访问文件,因为DBFS由S3支持,并且其存储区装载是指向S3位置的指针。
如何从不知道在哪里执行(生产或测试)的代码中访问文件? 目前,我已经设法像这样访问测试环境中的文件:
private static final File DATA_FILE = new File("/dbfs/mnt/test-env-bucket/data/test-data.json");
但是我需要提供一个指向/data/test-data.json
之类的DBFS文件的相对路径,并以某种方式检测我们是否处于prod
或test
环境中,并相应地选择存储桶。如果test-data.json
文件同时存在于S3的test-env-bucket和prod-env-bucket中,该如何实现?
答案 0 :(得分:1)
您有两个databrick实例吗?
尝试像这样安装不同的点
产品:
<table>
<td>
<asp:HyperLink ID="HyperLink1" runat="server"
ImageUrl="TrackingPage.aspx">
<asp:ImageButton ID="ImageButton1" runat="server" CssClass="ImageBtn"
ImageUrl="Images/TrackingImg.PNG" OnClientClick="NavigateUrl" />
</asp:HyperLink>
</td>
</tr>
<tr>
<td>
<asp:Label ID="DashboardID" runat="server" CssClass="IDTextStyle"
Text='<%#Eval ("ID") %>'></asp:Label>
</td>
</table>
dev:
dbutils.fs.mount("s3a://%s:%s@%s" % (ACCESS_KEY, ENCODED_SECRET_KEY, AWS_PRODUCTION_BUCKET_NAME), "/mnt/data")
并且只能使用:
dbutils.fs.mount("s3a://%s:%s@%s" % (ACCESS_KEY, ENCODED_SECRET_KEY, AWS_DEVELOP_BUCKET_NAME), "/mnt/data")