首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spark-submit管道模型

spark-submit管道模型
EN

Stack Overflow用户
提问于 2017-11-16 17:01:14
回答 1查看 421关注 0票数 2

我有一个运行在docker上的Apache Spark集群(1个主机+1个工人),我可以使用spark-submit提交一个适合管道的作业,然后它被保存到(PipelineModel.save(path)).文件保存在我的本地机器上,恰好在我执行spark-submit命令的位置。

当我想要加载PipelineModel并将其用于预测时,当我尝试部署生产代码时,问题就出现了。我无法传递包含已保存文件的文件夹。

这是我用来提交作业的代码:

代码语言:javascript
复制
spark-submit --class ch.supsi.isteps.Main --master spark://172.17.0.1:7077 --packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.2.0 --files=test/aFolder ./STR-0.1-alpha.jar --mode=production --file=test/aFolder

where --mode=production --file=test/aFolder是我的程序的参数

我已经尝试过使用--files,但它不接受文件夹。我希望避免在所有工作节点中复制模型。

编辑

该问题与HDFS和Docker相关。作为备份解决方案,我们避免在Docker中使用spark-cluster,而是在Docker中切换到本地模式。这样就可以毫无问题地保存和检索文件。如果映射文件夹(docker-compose ->卷),您甚至不需要传递文件,因为它们已经映射到您的容器

EN

回答 1

Stack Overflow用户

发布于 2017-11-17 15:06:12

我已经尝试过使用--

,但它不接受文件夹

选项1:

SparkContext有下面的方法来添加文件,你可以循环和列表文件在你的文件夹中,并添加它们。

代码语言:javascript
复制
/**
* Add a file to be downloaded with this Spark job on every node.
*
* If a file is added during execution, it will not be available until the next TaskSet starts.
*
* @param path can be either a local file, a file in HDFS (or other Hadoop-supported
* filesystems), or an HTTP, HTTPS or FTP URI. To access the file in Spark jobs,
* use `SparkFiles.get(fileName)` to find its download location.
*/
def addFile(path: String): Unit = {
addFile(path, false)
}

如上所述...SparkFiles.get(fileName)您可以获取文件名

或者SparkFilesgetRootDirectory来获取你添加的文件所在的文件夹,你可以访问它们。

代码语言:javascript
复制
/** 
  * Get the root directory that contains files added through `SparkContext.addFile()`. 
 */ 
 def getRootDirectory(): String = 
 SparkEnv.get.driverTmpDir.getOrElse(".") 

 } 

否则

使用sparkcontext.listFiles,您可以按顺序获得文件列表。

选项2:如果你想继续使用--files选项,那么你可以遵循我的答案submitting multiple jars from a folder,使用同样的方法,你也可以从一个由分隔符分隔的文件夹中添加多个文件。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47325428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档