freeCodeCamp/guide/chinese/data-science-tools/spark/index.md

2.3 KiB
Raw Blame History

title localeTitle
Spark 火花

火花

Spark是一种快速通用的大数据集群计算系统。它提供ScalaJavaPython和R中的高级API以及支持数据分析的通用计算图的优化引擎。它还支持一组丰富的高级工具包括用于SQL和DataFrame的Spark SQL用于机器学习的MLlib用于图形处理的GraphX和用于流处理的Spark Streaming。

核心功能

Spark 2.0有许多新功能:

  • 原生CSV数据源基于Databricks的spark-csv模块
  • 用于缓存和运行时执行的堆外内存管理
  • Hive风格的支持
  • 使用草图的近似摘要统计信息,包括近似分位数,布隆过滤器和计数最小草图。

它如何用于数据科学

Spark已经成为许多数据科学家工具箱中的标准工具。凭借其API选择的灵活性任何程序员都可以使用他们首选语言的Spark。正如Cloudera所指出的Spark因其原因而受到欢迎

  • 基于ScalaSpark嵌入在任何基于JVM的操作系统中但也可以以一种让R和Python用户熟悉的方式在REPL中交互使用。
  • 对于Java程序员Scala仍然呈现学习曲线。但至少任何Java库都可以在Scala中使用。 Spark的RDD弹性分布式数据集抽象类似于Crunch的PCollection它已被证明是Hadoop中一个有用的抽象已经为Crunch开发人员所熟悉。 Crunch甚至可以用在Spark之上。
  • Spark模仿Scala的集合API和函数风格这对Java和Scala开发人员来说是一个福音但对来自Python的开发人员也有些熟悉。 Scala也是统计计算的一个引人注目的选择。
  • Spark本身以及它下面的Scala并不特定于机器学习。它们提供支持相关任务的API如数据访问ETL和集成。与Python一样整个数据科学管道可以在这个范例内实现而不仅仅是模型拟合和分析。
  • 在REPL环境中实现的代码可以主要在操作上下文中使用。
  • 即使您键入内容,数据操作也会透明地分布在群集中。

更多信息