详情页标题前

阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技

详情页1

MaxCompute Spark支持三种运行方式:Local模式、Cluster模式和DataWorks执行模式。

Local模式

MaxCompute Spark支持用户以原生Spark Local模式进行作业调试。

与Yarn Cluster模式类似,您首先需要做以下准备工作:

  1. 准备MaxCompute项目以及对应的AccessKey ID、AccessKey Secret。
  2. 下载MaxCompute Spark客户端。
  3. 准备环境变量。
  4. 配置spark-defaults.conf。
  5. 下载工程模版并编译。

上述操作更多信息,请参见搭建开发环境。

通过MaxCompute Spark客户端以Spark-Submit方式提交作业,代码示例如下:

## Java/Scala
cd $SPARK_HOME
./bin/spark-submit --master local[4] --class com.aliyun.odps.spark.examples.SparkPi \
/path/to/odps-spark-examples/spark-examples/target/spark-examples-2.0.0-SNAPSHOT-shaded.jar
## PySpark
cd $SPARK_HOME
./bin/spark-submit --master local[4] \
/path/to/odps-spark-examples/spark-examples/src/main/python/odps_table_rw.py

注意事项

  • Local模式读写MaxCompute表速度慢,是因为Local模式是通过Tunnel来读写的,读写速度相比于Yarn Cluster模式慢。
  • Local模式是在本地执行的,部分用户会经常遇到Local模式下可以访问VPC,但是在Yarn Cluster模式下无法访问VPC。

    Local模式是处于用户本机环境,网络没有隔离。而Yarn Cluster模式是处于MaxCompute的网络隔离环境中,必须要配置VPC访问相关参数。

  • Local模式下访问VPC的Endpoint通常是外网Endpoint,而Yarn Cluster模式下访问VPC的Endpoint通常是VPC网络Endpoint。更多Endpoint信息,请参见Endpoint。
  • IDEA Local模式下需要将相关配置写入代码中,而在Yarn Cluster模式运行时一定要将这些配置从代码中去掉。

IDEA Local模式执行

MaxCompute Spark支持用户在IDEA中以Local[N]的模式直接运行代码,而不需要通过MaxCompute Spark客户端提交,您需要注意以下两点:

  • 在IDEA中运行Local模式时,不能直接引用spark-defaults.conf的配置,需要手动在代码中指定相关配置。配置示例如下:
    val spark = SparkSession
          .builder()
          .appName("SparkPi")
          .config("spark.master", "local[4]") // 需设置spark.master为local[N]才能直接运行,N为并发数。
          .config("spark.hadoop.odps.project.name", "")
          .config("spark.hadoop.odps.access.id", "")
          .config("spark.hadoop.odps.access.key", "")
          .config("spark.hadoop.odps.end.point", "http://service.cn.maxcompute.aliyun.com/api")
          .config("spark.sql.catalogImplementation", "odps")
          .getOrCreate()
  • 务必注意需要在IDEA中手动添加MaxCompute Spark客户端的相关依赖(jars目录),否则会出现如下报错:
     the value of spark.sql.catalogimplementation should be one of hive in-memory but was odps

    您可以按照如下流程配置依赖:

    1. 在IDEA的顶部菜单栏,选择File > Project Structure。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技
    2. 在Project Structure的Modules页面,选择目标Spark Module。单击右侧Dependencies后,在左下角单击阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技图标,选择JARS or directories…。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技
    3. 在打开的jars目录下,选择MaxCompute Spark版本及jars,单击Open。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技
    4. 单击OK。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技
    5. 通过IDEA提交作业。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技

Cluster模式

在Cluster模式中,您需要指定自定义程序入口main。main结束(Success or Fail)时,对应的Spark作业就会结束。使用场景适合于离线作业,可与阿里云DataWorks产品结合进行作业调度,命令行提交方式如下。

# /path/to/MaxCompute-Spark为编译后的Application JAR包路径。
cd $SPARK_HOME
bin/spark-submit --master yarn-cluster --class com.aliyun.odps.spark.examples.SparkPi \
/path/to/MaxCompute-Spark/spark-2.x/target/spark-examples_2.11-1.0.0-SNAPSHOT-shaded.jar

DataWorks执行模式

您可以在DataWorks中运行MaxCompute Spark离线作业(Cluster模式),以方便与其它类型执行节点集成和调度。


说明 DataWorks的Spark节点目前已经支持的Region:华东1(杭州)、华北2(北京)、华东2(上海)、华南1(深圳)、中国(香港)、美国西部1(硅谷)、欧洲中部1(法兰克福)、亚太南部1(孟买)、亚太东南1(新加坡)。

操作步骤如下:

  1. 您需要在DataWorks的业务流程中上传并提交(单击提交按钮)资源阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技上传成功如下图所示。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技
  2. 在创建的业务流程中,从数据开发组件中选择ODPS Spark节点。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技
  3. 双击工作流中的Spark节点,对Spark作业进行任务定义。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技ODPS Spark节点支持两种spark版本和语言。选择不同的语言,会显示相应不同的配置。您可以根据界面提示进行配置,参数详情请参见创建ODPS Spark节点。其中:
    • 选择主jar资源:指定任务所使用的资源文件。此处的资源文件需要您提前上传至DataWorks上。
    • 配置项:指定提交作业时的配置项。

      其中spark.hadoop.odps.access.idspark.hadoop.odps.access.keyspark.hadoop.odps.end.point无需配置,默认为MaxCompute项目的值(有特殊原因可显式配置,将覆盖默认值)。

      除此之外,spark-defaults.conf中的配置需要逐条加到ODPS SPARK节点配置项中,例如Executor的数量、内存大小和spark.hadoop.odps.runtime.end.point的配置。

      ODPS SPARK节点的资源文件和配置项对应于spark-submit命令的参数和选项,如下表。此外,您也不需要上传spark-defaults.conf文件,而是将spark-defaults.conf文件中的配置都逐条加到ODPS SPARK节点配置项中。

      ODPS SPARK节点 spark-submit
      主Java、Python资源 app jar or python file
      配置项 --conf PROP=VALUE
      Main Class --class CLASS_NAME
      参数 [app arguments]
      选择JAR资源 --jars JARS
      选择Python资源 --py-files PY_FILES
      选择File资源 --files FILES
      选择Archives资源 --archives ARCHIVES
  4. 手动执行Spark节点,可以查看该任务的执行日志,从打印出来的日志中可以获取该任务的Logview和Jobview的URL,编译进一步查看与诊断。阿里云云原生大数据计算服务 MaxCompute运行模式-云淘科技

    Spark作业定义完成后,即可在业务流程中对不同类型服务进行编排、统一调度执行。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/159769.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云大数据开发治理平台 DataWorks任务未运行-云淘科技

    本文为您介绍任务未运行的相关问题。 任务运行条件 任务到定时时间,为什么还没运行? 使用限制 仅DataWorks生产环境运维中心支持自动调度,请确认任务是否已发布生产运维中心,任务发布,详情请参见:发布任务。 任务运行条件 运维中心通过不同状态标识区分状态类型。 正常调度任务运行需要有多个条件:调度资源、定时时间、上游节点运行状态、调度属性为正常调度(未被…

    2023年12月10日
  • 阿里云ECS云服务器OpenVPN场景添加云助手服务端的IP地址到白名单-云淘科技

    Windows实例上配置了OpenVPN后,云助手将无法正常运行。在该场景下,您可以通过在OpenVPN中将云助手服务端的IP地址添加到白名单,实现云助手正常使用。 OpenVPN参数介绍 针对只需要部分IP地址使用OpenVPN通道的场景,您可以通过配置OpenVPN客户端配置文件实现,相关参数如下: route-nopull 当OpenVPN客户端配置文…

    2023年12月9日
  • 阿里云负载均衡DeleteServerCertificate – 删除服务器证书-云淘科技

    删除服务器证书。 接口说明 说明 如果指定删除的证书被引用,无法删除。调试您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此…

    阿里云负载均衡 2023年12月10日
  • 阿里云日志服务SLS采集策略-云淘科技

    日志审计提供一键式跨账号采集云产品日志及中心化存储功能。对于已开通日志审计的阿里云产品,日志服务默认采集所有符合限定条件的云产品日志。而通过采集策略,可对账号、地域或实例等因素进行限制,实现精细化的日志采集目的。本文介绍如何配置采集策略。 产品支持 采集策略目前支持RDS、PolarDB-X 1.0、PolarDB、SLB、ALB、VPC、DNS、Kuber…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云大数据开发治理平台 DataWorks智能诊断-云淘科技

    您可以使用智能诊断功能对任务进行全链路分析,当任务运行不符合预期时,您可以使用该功能快速定位问题。 功能概述 智能诊断功能可以基于以下维度对任务进行诊断分析: 全链路分析: 检查上游任务运行情况:上游任务运行失败时,将阻塞当前任务的运行。智能诊断功能可以帮助您迅速定位上游任务运行失败的原因。 检查是否已到达任务设置的定时运行时间。 说明 在数据开发模块中定义…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。