且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MaxComputeSpark Spark 与 SparkSQL 对比分析及使用注意事项 | 学习笔记

更新时间:2022-09-02 15:34:49

开发者学堂课程【SaaS  模式云数据仓库系列课程 —— 2021数仓必修课MaxComputeSpark Spark 与 SparkSQL 对比分析及使用注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/55/detail/1052


MaxComputeSpark Spark 与 SparkSQL 对比分析及使用注意事项


内容简介:

一、功能特性

二、代码开发

三、DataWorks 模式

四、Q&A


一、功能特性

Spark 部署模式:

Spark on yarn

http://spark.apache.org/docs/latest/running-on-yarn.html

Spark onk8s

http://spark.apache.org/does/latest/running-on-kubernetes.html

Spark on  MaxCompute

https://github.com/aliyun/MaxCompute-Spark/wiki

支持的数据源:

Spark on yarn/k8s 限制条件

1.支持数据源操作的 jar 包是否存在

2.网络是否可打通:平台环境

云上网络环境:公网、经典网络、 VPC

Spark on  MaxCompute  限制条件

1.maxcompute  集群环境。支持访问 VPC、可申请访问公网

目前支持访问的数据源:  maxcompute 、oss、VPC 下的 ECS/RDS/redis 等

提交方式:

Local

1.和开源相同,涉及到读写  maxcompute  表时,会是 tunnel 方式来读写,本地spark-defaults. 

comp 中需要配置 tunnel endpoint。

2.会拉取表数据到本地,每次运行均会重新拉取;下载部分数据,可以在 SparkSqL 中指定分

区实现下。

Client

1.客户端不会启动 dirver

2.不再依赖 spark 客户端

Cluster

1.和开源相同

POM 文件:

注意事项:

1.spark 和 scala 版本

2.scope 配置:需要是 provided

参考示例:

 https://github.com/aliyun/MaxCompute-Spark/blob/master/spark-2.x/pom.zn

< properties >

<spark. version>2.3.0</spark. version>

<cupid. sdk. version>3.3.8-public</cupid. sdk. version>

<scala. version>2. 11.8</scala. version>

<scala. binary. version>2. 11</scala. binary. version></ properties >


二、代码开发

Tips:

建议使用 SparkSql ,不要使用 ODPSops

val spark s Spark Session

. builder()

. appliame("SparkSQL-on- HaxCompute ")

. config("spark-sal, broadcast Timeout","no""(")

. config("spark-sql. cross-loin, enabled", true)

. conflig("odps, exec, dynamic, partition, mode","nonstrict")

-config("spark-sql catalog[ updatentation ","~dps")-get0-create()

import spark. val rdf-spil(s"select+from muxing test _ 2018 _ total _ infor")

线上运行时 SparkSession 代码中参数写到spark节点

配置spark. hadoop. odps. runtime. end. point

# 

Spark施行环境endpoints,请配置为所在region的Mak(captte VTC内网Endpoints.

yearshadoopdaysruntinesendpoint “ http://service.cn-sarcompute.aliyurnic.com/got

引用 jar 资源使用 spark. hadoop. odbs. cupid. resources

Ispark hadoop. oops cupic,resources= projectname ×x0. jar.  projectnamexx1 . jar

< dependency >

<groupId>com. aliyun. odps</groupIdx

<artifact Id>cupid-sdk</artifact Id>

<version>${cupid. sdk. version}</version>

<scope>provided</scope>

</ dependency >

< dependency >

<groupId>com. aliyun. odps</groupId>

<artifact Id>hadoop-fs-oss</artifact Id>

<version>${cupid. sdk. version}</version>

</ dependency >

< dependency >

<groupId>com. aliyun. odps</groupId>

< artifactId >odps-spark-database _5(scala. binary. version)</ artifact1d ><version>${cupid. sdk. version}</version>

</ dependency >


三、DataWorks 模式

操作流程(操作演示):

1.创建 spark 节点

2.配置节点参数

3.测试运行

4.提交发布

Tips:

1.通过参数配置实现带入参数到 spark 程序

2.简单模式和标准模式下发布有差异


四、Q&A