摘要: 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/
分享到:
相关推荐
### 大数据处理与Spark计算框架 #### 一、大数据生态系统及Spark的作用 **大数据处理流程**主要包括以下几个步骤: 1. **数据采集**:通过各种传感器、设备、社交媒体等方式收集原始数据。 2. **数据存储**:将...
内存计算框架Spark实战的知识点主要包括Spark集群模式、资源调度、分布式计算节点等方面的内容。具体而言,Spark集群模式分为独立模式(Standalone)、YARN模式和Mesos模式。在这之中,独立模式(Standalone)是...
### Spark框架简介 #### 1. Spark是什么? Apache Spark是一个高度灵活且强大的集群计算框架,专为处理大规模数据集而设计。它不仅继承了Hadoop MapReduce的优点,还解决了后者的一些局限性,如高延迟问题及对中间...
标题"spark/hadoop读取s3所需要的外部依赖包"涉及到的关键知识点包括: 1. **Spark与Hadoop的S3支持**: Spark和Hadoop原生并不直接支持Amazon S3,但可以通过添加特定的库来实现这一功能。这些库提供了与S3接口...
Flink、Storm、Spark Streaming三种流框架的对比分析 Flink架构及特性分析 Flink是一个原生的流处理系统,提供高级的API。Flink也提供API来像Spark一样进行批处理,但两者处理的基础是完全不同的。Flink把批处理...
2.Spark 框架概述 3.快速入门 4.Standalone集群及HA 5.Spark 应用开发入门 6.Spark 应用提交 7.Spark on YARN 8.应用部署模式DeployMode 第二章、SparkCore 模块 1.RDD 概念及特性 2.RDD 创建 3.RDD 函数及使用 4....
【基于Spark MapReduce框架的分布式渲染系统研究】 三维渲染技术在电影、动画和游戏制作中扮演着关键角色,为创造视觉特效提供强大的工具。然而,渲染过程计算密集且数据量巨大,消耗大量时间和资源。分布式渲染...
在Spark Stream中,转换操作允许我们对数据流进行处理,例如map、filter、reduceByKey等,而输出操作则将处理结果写入外部存储系统,如MySQL数据库。在你提到的实例中,结果被存入了MySQL数据库,这意味着可能使用了...
基于Spark大数据分析框架的工业网络安全监测预警平台是利用了Spark的大数据处理能力,对工业环境中的网络数据进行实时采集、分析和处理,以期对网络安全事件做出准确、高效的感知和应对。以下详细解析该平台的关键...
通过内存计算和高效的容错机制,Spark 相比传统 MapReduce 框架如 Hadoop 显示出显著的性能优势。此外,Spark 支持多种计算模型和应用程序,如图计算(Bagel)和数据仓库(Hive on Spark),使其成为大数据生态系统...
Spark,作为一个分布式计算框架,因其高效、灵活和易用的特性,在大数据处理领域深受青睐。Spark 2.1.0版本对Java API进行了全面优化,使得Java开发者能够更加便捷地利用Spark进行大规模数据处理。本篇文章将围绕`...
Spark的核心设计思想是提供一种快速、通用的分布式计算框架。它通过内存计算大幅提高了数据处理速度,相比Hadoop MapReduce的磁盘I/O操作,性能提升显著。Spark支持批处理、交互式查询(如SQL)、流处理和机器学习等...
SparkCore是Apache Spark的核心组件,它是Spark大数据处理框架的基础。Spark设计的主要目标是提供一个高效、易用且通用的大数据处理平台,与Hadoop MapReduce相比,Spark在处理迭代计算和交互式数据挖掘方面表现更优...
Spark是Apache软件基金会下的一个开源大数据处理框架,以其高效、灵活和易用的特性而闻名。Spark 2.0.0版本是该框架的一个重要里程碑,它在前一版本的基础上进行了大量的优化和改进,旨在提供更好的性能和更多的功能...
Spark是Apache软件基金会下的一个开源大数据处理框架,它以其高效的并行计算能力、内存计算以及易用性而闻名。这份“Spark官方文档中文翻译”涵盖了Spark的核心概念、架构、使用方法以及API,对于理解并应用Spark...
Spark 2.4.6是Apache Spark的一个稳定版本,它是一个快速、通用且可扩展的大数据处理框架。这个版本的Spark包含了对Hadoop 2.6.0-cdh5.7.0的支持,这意味着它可以无缝地与Cloudera Data Hub(CDH)5.7.0集群集成,...
这份"Spark官方文档指南chm版本"提供了离线查阅Spark相关知识的便利,尤其适合那些无法连接外部网络的用户。CHM文件是一种Windows平台下的帮助文件格式,包含了丰富的索引和内容结构,方便用户快速查找和学习。 ...
Spark作为一个高性能的分布式计算框架,提供了强大的工具来处理海量数据,使得数据分析更加高效。 **Spark**的核心组件是**弹性分布式数据集(RDD)**,这是一种只读的多节点数据结构,能够自动地恢复数据丢失,...
SparkR是一种使R语言能够利用Apache Spark分布式计算框架进行大规模数据处理的技术。它不仅保留了R语言在统计分析领域的优势,还充分利用了Spark的分布式处理能力,实现了高性能的大数据统计分析。 #### SparkR的...
Apache Spark作为一个开源的统一大数据处理框架,以其内存计算和高吞吐量的特点而闻名。Spark的核心组件包括:Spark Core、Spark SQL、Spark Streaming、MLlib(机器学习库)和GraphX(图处理)。Spark Core提供了...