全部产品

Spark对接MaxCompute快速入门

更新时间:2019-07-05 11:30:28

简介

大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。这里主要介绍通过“数据工作台”使用Spark对接MaxCompute数据表的使用方法。

前置条件

  1. MaxCompute工作空间已创建。
    本例中MaxCompute的工作空间的区域为“华南1”,工作空间名称为:spark_on_maxcompute,模式为:简单模式(单环境)。
  2. 本例中Spark的区域为“华南1(深圳)”。
  3. MaxCompute已创建表sparktest2,建表语句为:
    1. CREATE TABLE `sparktest2` (
    2. `a` int,
    3. `b` STRING
    4. )
    5. PARTITIONED BY (pt string);
  4. MaxCompute已授权案例使用的用户,如下图:
    详细步骤可参考:添加项目成员和角色

使用“数据工作台”>“作业管理”运行样例

步骤 1:通过“资源管理”上传样例代码Jar包

下载样例代码jar包“spark-examples-0.0.1-SNAPSHOT.jar”以及依赖的Jar包到本地目录。

  1. wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_example/spark-examples-0.0.1-SNAPSHOT-shaded.jar

说明:spark-examples-0.0.1-SNAPSHOT-shaded.jar为样例代码编译出的Jar包。若用户修改了样例代码,运行时记得添加依赖的Jar包。依赖的Jar包对应的Pom文件请参考样例代码工程中对应的pom文件,样例代码路径见本文最后。
在“数据工作台”>“资源管理”中添加文件夹“spark_on_maxcompute”。上传下载的jar包到此文件夹。如下图:

步骤 2:通过“作业管理”创建并编辑作业内容

在“数据工作台”>“作业管理”中创建Spark作业,作业内容如下:

  1. --class com.aliyun.spark.maxcompute.MaxComputeDataSourcePartitionSample
  2. --driver-memory 1G
  3. --driver-cores 1
  4. --executor-cores 1
  5. --executor-memory 2G
  6. --num-executors 1
  7. --name spark_on_maxcompute
  8. /spark_on_maxcompute/spark-examples-0.0.1-SNAPSHOT-shaded.jar
  9. xxx1 xxx2
  10. http://service.cn.maxcompute.aliyun-inc.com/api
  11. http://dt.cn-shenzhen.maxcompute.aliyun-inc.com spark_on_maxcompute sparktest2 2

作业内容参数说明:

参数 说明
xxx1 xxx2 分别为具备访问MaxCompute权限的AccessKey ID 和AccessKeySecret。
http://service.cn.maxcompute.aliyun-inc.com/api MaxCompute的VPC网络Endpoint。
http://dt.cn-shenzhen.maxcompute.aliyun-inc.com MaxCompute的VPC网络Tunnel Endpoint。
spark_on_maxcompute MaxCompute的工作空间名称。
sparktest2 2 MaxCompute的数据表名以及表的分区数。

作业内容如下图:

步骤 3:通过“作业管理”运行作业并查看结果

作业编辑完成后点击“运行”,选择Spark集群。运行状态会在下侧显示,如图:


运行成功后点击“YarnUI”,翻到最后看到类似如下结果表明Spark读取MaxCompute成功。如下:

  1. 999416
  2. 999417
  3. 999418
  4. 999419

小结