Spark的那些外部框架

摘要: Spark社区提供了大量的框架和库。其规模及数量都还在不断增加。本文我们将介绍不包含在Spark核心源代码库的各种外部框架。Spark试图解决的问题涵盖的面很广,跨越了很多不同领域,使用这些框架能帮助降低初始开发成本,充分利用开发人员已有的知识。

Spark Package

  要使用Spark库,你首先必须了解的东西是Spark package。它有点像Spark的包管理器。当你给Spark集群提交job时,你可以到存放Spark package的网站下载任何package。所有package都存放在这个站点。
  http://spark-packages.org/
  当你想用一个Spark package时,可以在spark-submit命令或者spark- shell命令中增加包选项:

$ $Spark_HOME/bin/Spark-shell \ -packages com.databricks:Spark-avro_2.10:2.0.1
点击并拖拽以移动
  如果使用了--packages选项,Spark package就会自动把它的JAR包添加到你指定的路径下。你不仅能在Spark集群上使用社区的库,还能到公开发布自己的库。如果要把一个Spark package发布到这个托管服务下,必须遵守下列规则:

源代码必须放在Github上。
代码库的名字必须与包名相同。
代码库的主分支必须有README.md文件,在根目录下必须有LICENSE文件。
换句话说,你不需要编译自己的package。即使你用Spark Packages的模板,编译、发布以及版本更新都将由这项服务完成。sbt插件sbt-spark-package(https://github.com/databricks/sbt-spark-packages)对于生成package也非常有用。如果要在你的项目中包含此插件,请务必在sbt项目的project/plugins.sbt文件中写入下面的代码:

resolvers += "bintray-Spark-packages" at "https://dl.bintray.com/ Spark-packages/maven/" addSbtPlugin("org.Spark-packages" % "sbt-Spark-packages" % "0.2.3")
点击并拖拽以移动
  发布Spark包时必须提供如下信息,应该把它们写到build.sbt中:

spName——package的名称。
sparkVersion——package所依赖的Spark版本。
sparkComponents——package所依赖的Spark组件列表,例如SQL、MLlib。
spShortDescription——package的一句话描述。
spDescription——关于package的完整描述。
spHomePage——用于描述package的Web页面的URL。
上述6项是你在发布package之前需要提供的信息。一定要发布到package的代码库的主分支上。你可以使用Spark package的托管站点(https://spark-packages.org/)的Web UI来完成这项工作。
            图片描述
  在Spark package站点上注册了Github账号后,可以从“name”下拉菜单中选择你的代码库。
             图片描述
  上面的简短描述和主页最好与build.sbt中的描述和主页URL一致。一旦你提交了package,验证过程就开始了。这个过程通常需要几分钟。当验证完成后,你会收到一封邮件,告诉你验证是否成功。如果成功,就可以用前面描述的--package选项下载你的package了。截至2015年11月,Spark package站点上已经有153个package了。下一节将介绍一些库,它们也是支持Spark package形式的,即它们也以Spark package格式分发。

​​​​​​​

原文链接 http://click.aliyun.com/m/23423/

猜你喜欢

转载自3554661963.iteye.com/blog/2379788