更新时间:2023-04-18 GMT+08:00
分享

应用开发简介

Spark简介

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

  • 数据处理(Data Processing):可以用来快速处理数据,兼具容错性和可扩展性。
  • 迭代计算(Iterative Computation):支持迭代计算,有效应对多步的数据处理逻辑。
  • 数据挖掘(Data Mining):在海量数据基础上进行复杂的挖掘分析,可支持各种数据挖掘和机器学习算法。
  • 流式处理(Streaming Processing):支持秒级延迟的流式处理,可支持多种外部数据源。
  • 查询分析(Query Analysis):支持标准SQL查询分析,同时提供DSL(DataFrame), 并支持多种外部输入。

本文档重点介绍Spark、Spark SQL和Spark Streaming应用开发指导。

Spark开发接口简介

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

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

表1 Spark API接口

功能

说明

Scala API

提供Scala语言的API,Spark Core、SparkSQL和Spark Streaming模块的常用接口请参见Scala。由于Scala语言的简洁易懂,推荐用户使用Scala接口进行程序开发。

Java API

提供Java语言的API,Spark Core、SparkSQL和Spark Streaming模块的常用接口请参见Java

Python API

提供Python语言的API,Spark Core、SparkSQL和Spark Streaming模块的常用接口请参见Python

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

spark-sql脚本、spark-shell脚本和spark-submit脚本(运行的应用中带SQL操作),不支持使用proxy user参数去提交任务。另外,由于本文档中涉及的样例程序已添加安全认证,建议不要使用proxy user参数去提交任务。

分享:

    相关文档

    相关产品