第 33 章 生态系统与社区
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
Spark 最大的卖点之一就是资源、工具和贡献者的数量之多。在撰写本文时,Spark 代码库有超过 1000 名贡献者。这比大多数其他项目梦寐以求的数量级要多得多,同时也证明了 Spark 令人惊叹的社区--无论是在贡献者还是管理者方面。Spark 项目没有放缓的迹象,大大小小的公司都在寻求加入这个社区。这种环境激发了大量补充和扩展 Spark 功能的项目,包括正式的 Spark 软件包和用户可以在 Spark 中使用的非正式扩展。
Spark 套餐
Spark 有一个包库,用于存放 Spark 专用的包:Spark 软件包。第 9章和第24 章讨论了这些软件包。Spark 软件包是用于 Spark 应用程序的库,可以很容易地与社区共享。GraphFrames是 一个完美的例子;与 Spark 内置的低级(GraphX)API 相比,它以更易于使用的方式在 Spark 的结构化 API 上提供图形分析。还有许多其他软件包,包括许多机器学习和 Deep Learning 软件包,都以 Spark 为核心并扩展了其功能。
除了这些高级分析软件包外,还有一些软件包可以解决特定垂直领域的问题。医疗保健和基因组学为大数据应用提供了大量机会。例如, ,ADAM 项目利用 Spark Catalyst 引擎独特的内部优化,为基因组处理提供了可扩展的 API 和 CLI。另一个 软件包Hail 是一个用于探索和分析基因组数据的可扩展开源框架。从 VCF 和其他格式的测序或微阵列数据开始,Hail 提供了可扩展的算法,可对笔记本电脑上的千兆字节级数据或集群上的 TB 级数据进行统计分析。
在撰写本书时,有近 400 种不同的软件包可供选择。作为用户,你可以在构建文件中指定 Spark软件包作为依赖项(如本书的书 GitHub 存储库中所示)。你也可以下载预构建的 jars,并将它们包含在类路径中,而不用明确地将它们添加到构建文件中。还可以通过向 spark-shell 或 spark-submit 命令行工具传递参数,在运行时包含 Spark 软件包。
热门套餐简表
如前所述,Spark 软件包有近 400 个。将所有这些都包括在内与作为用户的您并无关系,因为您可以在 Spark 软件包网站上搜索特定的软件包。不过,值得一提的还是一些比较流行的软件包:
- Spark Cassandra 连接器
-
该连接器 可帮助您进出 Cassandra 数据库。
- Spark Redshift 连接器
-
该 连接器可帮助您进出 Redshift 数据库。
- Spark bigquery
-
连接器可帮助您将数据输入和输出 Google 的 BigQuery。
- Spark Avro
-
软件包允许您读写 Avro 文件。
- Elasticsearch
-
通过 软件包,您可以将数据导入或导出 Elasticsearch。
- 麦哲伦
-
允许 在 Spark 基础上执行地理空间数据分析。
- 图形框架
-
允许您使用 DataFrames 执行图形分析。
- Spark 深度学习
-
允许 同时利用 Deep Learning 和 Spark。
使用 Spark 软件包
在项目中包含 Spark 包有两种核心方式。在 Scala 或 Java 中,您可以将其作为构建依赖包括在内,或者您也可以在运行时指定您的软件包(对于 Python 或 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access