问题描述
LAS 产品中提供了文件管理功能(参考:https://www.volcengine.com/docs/6492/146372),用户可以通过该功能完成系统内的数据创建 / 删除 / 上传 / 下载 / 读取 / 共享等操作,使数据操作更加便捷。 文本将介绍具有权限的账号如何读取文件管理中的数据。
问题分析
本文以 Java Maven工程为例,在 LAS 的数据管理的 " /private/ " 目录下,创建了 test.txt 文件 文件内容是:
解决方案
步骤1:Java 工程中添加仓库与依赖
添加仓库:
<repositories>
<repository>
<id>bytedance-public</id>
<name>bytedance maven</name>
<url>https://artifact.bytedance.com/repository/releases</url>
</repository>
</repositories>
添加依赖:
<dependency>
<groupId>com.volcengine.las</groupId>
<artifactId>las-fs-tunnel-sdk-shaded</artifactId>
<version>0.0.3.3-RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.7</version>
</dependency>
步骤2:代码编写
访问代码可参考:
SparkSession sparkSession = SparkSession.builder()
.master("local")
.config("spark.hadoop.fs.lasfs.impl", "com.volcengine.las.fs.LasFileSystem")
//公网访问LasFS,如果通过LAS运行SparkJar任务,不需要该项配置
//如果报错链接问题,可替换100.96.4.84:80再次尝试
.config("spark.hadoop.fs.lasfs.endpoint", "las-fs-tunnel-cn-beijing.volces.com:80")
//ak/sk鉴权配置
.config("spark.hadoop.fs.lasfs.access.key", "填写您的AK")
.config("spark.hadoop.fs.lasfs.secret.key", "填写您的SK")
.getOrCreate();
//主账号路径
// 可替换具体路径,本案例以“/private/test.txt”为例
String writeFsPathStr = "lasfs:/private/test.txt";
Dataset<Row> readDataSet = sparkSession
.read()
.text(writeFsPathStr);
readDataSet.show();
sparkSession.stop();
步骤3:打包 jar 包并上传
Java 工程可以通过以下命令打包:
mvn package
打包好的 jar 包,上传到 LAS。
步骤4:运行并查看结果
在 DataLeap 中新建 Spark 程序,并填写对应 Main 函数路径(本文以 “ org.example.Main ” 为例) 运行结果:
关于文件管理其他 API 的使用,可以参考:https://www.volcengine.com/docs/6492/146367#%E8%AF%BB%E5%86%99%E6%96%87%E4%BB%B6
如果您有其他问题,欢迎您联系火山引擎技术支持服务