网站首页 > 开源技术 正文
Spark中提供了函数addFile和addJar函数这个函数怎么使用呢,接下来我们就来看一下,以addFile。有时候我们需要在程序中加载一个静态文件,并且要通过特殊的工具类解析里面的内容。就需要用到addFile,相当于把文件拉到executor本地进行解析。
addFile方法可以接收本地文件(或者HDFS上的文件),甚至是文件夹(如果是文件夹,必须是HDFS路径),然后Spark的Driver和Exector可以通过SparkFiles.get()方法来获取文件的绝对路径(Get the absolute path of a file added through SparkContext.addFile()),addFile的函数原型如下:
def addFile(path: String): Unit
def addFile(path: String, recursive: Boolean): Unit
addFile把添加的本地文件传送给所有的Worker,这样能够保证在每个Worker上正确访问到文件。另外,Worker会把文件放在临时目录下。因此,比较适合用于文件比较小,计算比较复杂的场景。如果文件比较大,网络传送的消耗时间也会增长。
Spark中addFile加载配置文件
val qqwry = "hdfs://dcnameservice/mcloud/data/datacenter/aws/mediastat/tools/qqwry.dat" //分发文件 sc.addFile(qqwry)
获取分发文件绝对路径:
SparkFiles.get("qqwry.dat");
我们在使用Spark的时候有时候需要将一些数据分发到计算节点中。一种方法是将这些文件上传到HDFS上,然后计算节点从HDFS上获取这些数据。当然我们也可以使用addFile函数来分发这些文件。注意,如果是spark程序通过yarn集群上加载配置文件,path必须是集群hdfs的绝对路径.
猜你喜欢
- 2024-10-14 分布式技术追踪 2019年第十期(分布式技术追踪 2019年第十期目录)
- 2024-10-14 魔兽世界BUFF缺失自动私聊(可能打扰对方慎用)
- 2024-10-14 扔掉你的老年秋裤,好看又保暖的都在这里!
- 2024-10-14 7月17日国服大神卡组 伊藤诚的狂野青玉贼
- 2024-10-14 宇宙牧攻略:组建有自己风格的宇宙牧
- 2024-10-14 新补丁上线,宇宙牧或将成最大赢家?组建有自己风格的宇宙牧
- 2024-10-14 那些令人无法忍受的行为(那些令人无法忍受的行为有哪些)
- 2024-10-14 分析Nginx日志获取IP地址的省份信息
- 2024-10-14 传奇GEE引擎私服架设教程四(持续更新)
- 2024-10-14 传奇微端架设教程-GOM引擎(传奇微端原理)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)