azure - 集群创建 HdInsight 和核心分配。调整 apache spark 提交
问题描述
我想用 Spark 在 Azure Hd Insight 集群中处理一个 250gb gzip(filename.json.gzip) 文件。但我做不到。
我猜是因为内核、内存、vCPU 之间的关系不好,所以我想知道要创建的更好的集群和要发送的 Spark 配置。
目前我正在使用这个实例:
- 集群 E8a v4 的 6 个节点(8 核,64 GB RAM)
我的 Spark 配置是:
- 驱动内存:10Gb
- 驱动核心:7
- 执行器内存:10Gb
- 执行器核心:7
- 执行人数:7
那么,在 Azure HDInsight 集群(链接到我可以创建的所有可用集群)和 Spark 提交配置中有更好的选择吗?
解决方案
Apache Spark 作业的性能取决于多个因素。这些性能因素包括:数据的存储方式、集群的配置方式以及处理数据时使用的操作。
您可能面临的常见挑战包括:由于执行程序大小不当导致的内存限制、长时间运行的操作以及导致笛卡尔运算的任务。
还有许多优化可以帮助您克服这些挑战,例如缓存和允许数据倾斜。
有关更多详细信息,请参阅在 HDInsight 中优化 Apache Spark 作业。
推荐阅读
- r - 对用户进行分组并找到 R 中提到的前 3 个用户
- python - flask.cli.NoAppException:无法导入“应用程序”
- json - 以 json 格式发送已解析变量时,api 调用出现卷曲错误。这适用于较旧的 bash 版本
- php - 使用 wampserver 从 html 在 php 中本地发送邮件不起作用
- c# - 无法比较 C# 中扩展方法中的两个字符串
- html - 如何使用 AJAX JQuery 将 HTML 中的 SQL 数据显示为表格?
- chrome-ux-report - 过去几个月缺少 Google CrUX 数据?
- asp.net-core - .Net Core 应用程序通过基于用户的特定条目来限制控制器方法的最佳方法?
- python - 编辑 HOCON 文件时保留点符号
- java - 如何从动作监听器中保存数据