Spark 生产优化总结 Spark 生产优化是企业中 Spark 作业的调优的总结,涉及 Spark 任务的详细解释、调度、资源分配等多方面的内容。本文将从三个方向考虑 Spark 生产优化:磁盘存储、CPU cores 和内存。 磁盘存储优化 在 Spark 生产环境中,磁盘存储是非常重要的,Spark 一般结合 HDFS 来做数据处理。HDFS 常用的压缩方式有 gzip、bzip2、lzo、lz4 和 Snappy 等。压缩文件可以分为可分割和不可分割两种,如果压缩文件不可分割,那么 Spark 生成的任务只有一个,如果是结构化的 Sequence files 或者 ORC files,它压缩的是每一个块,那么任务的并行度跟块数一致。 文件格式和压缩 文件格式对 Spark 生产优化也非常重要,常用的文件格式有 text files、Sequence files 和 ORC files 等。Spark 可以使用 textFile 读取文件,并使用 sqlContext 读取 JSON 文件和 Avro 文件等。不同的文件格式和压缩方式对 Spark 生产优化有着不同的影响。 Spark Web-UI 查看 Spark Web-UI 是一个非常有用的工具,可以查看任务的情况,设置 spark.eventLog.enabled 为 true 可以查看历史日志,运行的任务中,显示了 stage 的数据当前运行的 stage 输入和输出的数据量大小、shuffle 文件大小等信息。点击具体的 stage 可以看 metrics stage,确认数据是否有倾斜。 任务调度和监控 Spark 任务调度是 Spark 生产优化的关键,Spark 的任务调度可以使用 YARN 调度,启动 start-history-server.sh 可以查看任务运行状况。Metrics REST API 可以查看任务的详细信息。外部监控工具如 Ganglia 和 Graphite 也可以用于 Spark 任务监控。 资源分配 资源分配是 Spark 生产优化的最后一个方面,Spark 任务的资源分配包括 CPU cores 和内存的分配。在 Spark 中,可以使用 spark.executor.cores 和 spark.executor.memory 等参数来控制资源的分配。 Spark 生产优化是企业中 Spark 作业的调优的总结,涉及磁盘存储、文件格式和压缩、任务调度和监控、资源分配等多方面的内容。通过合理地优化这些方面,可以提高 Spark 作业的性能和效率。
剩余12页未读,继续阅读
- 粉丝: 7
- 资源: 15
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助