文档首页 > > 开发指南> Spark应用开发> 概述> 应用开发简介

应用开发简介

分享
更新时间: 2019/04/30 GMT+08:00

Spark简介

Spark是分布式批处理框架,提供分析挖掘与迭代式内存计算能力,支持多种语言(Scala/Java/Python)的应用开发。 适用以下场景:

  • 数据处理(Data Processing):可以用来快速处理数据,兼具容错性和可扩展性。
  • 迭代计算(Iterative Computation):支持迭代计算,有效应对多步的数据处理逻辑。
  • 数据挖掘(Data Mining):在海量数据基础上进行复杂的挖掘分析,可支持各种数据挖掘和机器学习算法。
  • 流式处理(Streaming Processing):支持秒级延迟的流式处理,可支持多种外部数据源。
  • 查询分析(Query Analysis):支持标准SQL查询分析,同时提供DSL(DataFrame), 并支持多种外部输入。
  • Apache Spark部件架构如图1所示。本文档重点介绍Spark、Spark SQL和Spark Streaming应用开发指导。MLlib和GraghX的详细指导请参见Spark官方网站:http://spark.apache.org/docs/2.1.0/
图1 Spark架构

Spark开发接口简介

Spark支持使用Scala、Java和Python语言进行程序开发,由于Spark本身是由Scala语言开发出来的,且Scala语言具有简洁易懂的特性,推荐用户使用Scala语言进行Spark应用程序开发。

按不同的语言分,Spark的API接口如表1所示。

表1 Spark API接口

接口

说明

Scala API

提供Scala语言的API。由于Scala语言的简洁易懂,推荐用户使用Scala接口进行程序开发。

Java API

提供Java语言的API。

Python API

提供Python语言的API。

按不同的模块分,Spark Core和Spark Streaming使用上表中的API接口进行程序开发。而SparkSQL模块,支持CLI或者ThriftServer两种方式访问。其中ThriftServer的连接方式也有Beeline和JDBC客户端代码两种。

说明:

spark-sql脚本、spark-shell脚本和spark-submit脚本(运行的应用中带SQL操作),不支持使用proxy user参数去提交任务。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区