MaxCompute Spark
Spark on MaxCompute 常见配置及使用问题
1. MaxCompute中,节点任务的参数如何传递到 spark 的输入参数,例如设置了任务参数 bizdate,在 spark 程序的输入参数这么用可以吗?
可以,直接在 spark 节点参数中引用参数即可,参考文档。
2. MaxCompute Spark 流式读取 datahub 数据,写到MaxCompute 有没有参考文档或者代码?
3. MaxCompute Spark 如何在本地进行调试?
可以使用 IDEA 进行MaxCompute Spark 进行本地调试,参考文档。
4. Spark程序可以处理 MaxCompute 上的表数据?
目前 MaxCompute Spark 支持三种运行方式:Local 模式、Cluster模式和 DataWorks 中执行模式。
三种模式需要进行不同的配置,请参考官方文档。
5. 目前 MaxCompute Spark 支持原生 Spark 哪个版本?
目前支持 Spark-1.6.3、Spark-2.3.0 和、Spark-2.4.5 如何 Spark on MaxCompute 可以参考一下社区一篇文章。
6. 如何将开源 Spark 代码迁移到 Spark on MaxCompute?分以下三种情形:
- 作业无需访问 MaxCompute 表和 OSS。您的 Jar 包可直接运行,具体步骤请参见搭建开发环境。注意,对于 Spark 或 Hadoop 的依赖必须设成 provided。
- 作业需要访问 MaxCompute 表。配置相关依赖后重新打包即可。配置依赖的步骤请参见搭建开发环境。
- 作业需要访问 OSS。配置相关依赖后重新打包即可。配置依赖的步骤请参见搭建开发环境。
7. spark-defaults.conf提供的 ID、Key 错误 Stack:
com.aliyun.odps.OdpsException:ODPS-0410042:Invalid signature value - User signature dose not match
请检查 spark-defaults.conf 提供的 ID、Key 和阿里云官网管理控制台用户信息管理中的 AccessKey ID、Access Key Secret 是否一致。
8. 报错:Stack: com.aliyun.odps.OdpsException: ODPS-0420095:Access Denied - Authorization Failed [4019], You have NO privilege'odps:CreateResource' on {acs:odps:*:projects/*}
请 Project Owner 授权 Grant Resource 的 Read 以及 Create 权限。
9. 运行报错:No space left on device
Spark 使用网盘进行本地存储。Shuffle 数据和 BlockManager 溢出的数据均存储在网盘上。网盘的大小通过参数spark.hadoop.odps.cupid.disk.driver.device_size 控制,默认20GB,最大 100GB。
如果调整到 100GB 仍然报出此错误,则需要分析具体原因。常见的原因为数据倾斜:在 Shuffle 或者 Cache 过程中数据集中分布在某些 Block。此时可以缩小单个 Executor 的并发(spark.executor.cores),增加 Executor 的数量(spark.executor.instances)。
>>快来点击免费下载《阿里云MaxCompute百问百答》了解更多详情!<<