spark的一些经验

1,如果写sql语句能实现的操作,最好就不要用dataframe了;spark会自己做优化,性能和稳定性都会比较高

2,中间过程存成parquet文件而不是HIVE表

3,能用reduceByKey就不要用groupByKey

4,在数据量很大或者存在倾斜的时候,可以考虑先repartition后在forEachPartition操作

5,将dataframe注册成临时表的代价很小

6,在spark内做一些output操作时,最好在forEachPartition内操作;比如每个partition内批量写Hbase或者elastic search

7,Hbase还是很脆弱的,批量写入时,尽量控制写入的速度

8,序列化可以使用json或者kyro;前者比较好理解,后者性能更好

9,批量读取HBase时,使用newAPIHadoopRdd比较高效

10,不要用流的思维写批处理程序

11,不要乱用cache,除非后续会多次重复使用

12,Hbase内rowkey最好不要设计成列不固定的形式

13,Hbase内rowkey设计成json的形式还是蛮好使的

14,一些中间的数据结构可以选择存在redis内,而不是存在Hbase内反复读写

15,多使用sparkUI进行分析,可能改几个配置,性能就上去了,Bug就解决了

16,写代码时,留一些基于用户的打印信息,方便后续测试;

17,测试的一些套路:用local模式在driver上看输出、在sparkUi上看executor的log或者自己做单机测试

时间: 2024-12-22 15:53:09

spark的一些经验的相关文章

spark 调优经验(续二)

FAQ 1.      spark性能配置 我目前的环境是5台机器,每台机器8个核.如果有以下两种配置方案: (a) SPARK_WORKER_INSTANCES = 8 SPARK_WORKER_CORES = 1 (b) SPARK_WORKER_INSTANCES = 1 SPARK_WORKER_CORES = 8 如何处理? 答: a方案每个节点会启动8个worker运行8个JVM,每个worker将会启动一个excutors, b方案将会启动一个worker运行一个JVM.如果数据很

spark调优经验(待续)

spark调优是须要依据业务须要调整的,并非说某个设置是一成不变的,就比方机器学习一样,是在不断的调试中找出当前业务下更优的调优配置.以下零碎的总结了一些我的调优笔记. spark 存储的时候存在严重的分配不均的现象,有几台机器在过渡使用, 有几台机器却非常少被使用.有几台机器缓存了几十个上百个RDD blocks  有的机器一个RDD blocks 都没有.这样存储有RDD blocks 的能够进行运算.运算的tasks 最多为该机器core数. spark.storage.memoryFra

【Spark深入学习 -14】Spark应用经验与程序调优

----本节内容------- 1.遗留问题解答 2.Spark调优初体验 2.1 利用WebUI分析程序瓶颈 2.2 设置合适的资源 2.3 调整任务的并发度 2.4 修改存储格式 3.Spark调优经验 3.1 Spark原理及调优工具 3.2 运行环境优化 3.2.1 防止不必要的分发 3.2.2 提高数据本地性 3.2.3 存储格式选择 3.2.4 选择高配机器 3.3 优化操作符 3.3.1 过滤操作导致多小任务 3.3.2 降低单条记录开销 3.3.3 处理数据倾斜或者任务倾斜 3.

Spark大型项目实战:电商用户行为分析大数据平台

本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分析出来的数据,辅助公司中的PM(产品经理).数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务.最终达到用大数据技术来帮助提升公司的业绩.营业额以及市场占有率的目标. 1.课程研发环境 开发工具: Eclipse Linux:CentOS 6

Spark Streaming实践和优化

发表于:<程序员>杂志2016年2月刊.链接:http://geek.csdn.net/news/detail/54500 作者:徐鑫,董西成 在流式计算领域,Spark Streaming和Storm时下应用最广泛的两个计算引擎.其中,Spark Streaming是Spark生态系统中的重要组成部分,在实现上复用Spark计算引擎.如图1所示,Spark Streaming支持的数据源有很多,如Kafka.Flume.TCP等.Spark Streaming的内部数据表示形式为DStrea

Spark的介绍:前世今生

spark的 前世今生 标签(空格分隔): Spark的部分 一:大数据的spark概述 二:大数据的spark学习 一: 大数据的概述 1.1 Spark是什么? Spark,是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce.Hive引擎,以及Storm流式实时计算引擎等. Spark包含了大数据领域常见的各种计算框架:比如Spark Core用于离线计算,Spark SQL用于交互式查询,Spark Streaming用于实时流式计算,Spark MLlib用于

基于Storm的Nginx log实时监控系统

背景 UAE(UC App Engine)是一个UC内部的PaaS平台,总体架构有点类似CloudFoundry,包括: 快速部署:支持Node.js.Play!.PHP等框架 信息透明:运维过程.系统状态.业务状况 灰度试错:IP灰度.地域灰度 基础服务:key-value存储.MySQL高可用.图片平台等 这里它不是主角,不作详细介绍. 有数百个Web应用运行在UAE上,所有的请求都会经过UAE的路由,每天的Nginx access log大小是TB级,如何实时监控每个业务的访问趋势.广告数

黄洁:Intel Spark应用优化和实践经验

摘要:黄洁就Spark的内存管理.IO提升和计算优化3个方面进行了详细讲解.黄洁表示,对比MapReduce,Spark擅长于复杂的机器学和图的计算.流处理等多种业务场景. [编者按]干货满满的2015 OpenStack技术大会.2015 Spark技术峰会.2015 Container技术峰会以实力赢得所有观众的认可.在Spark峰会上,英特尔大数据技术中心研发经理黄洁就Spark的内存管理.IO提升和计算优化3个方面进行了详细讲解,以下为演讲概述. 下为演讲概述 我来自Intel大数据技术

【原创 Hadoop&amp;Spark 动手实践 8】Spark 应用经验、调优与动手实践

[原创 Hadoop&Spark 动手实践 7]Spark 应用经验.调优与动手实践 目标: 1. 了解Spark 应用经验与调优的理论与方法,如果遇到Spark调优的事情,有理论思考框架. 2. 把调优的过程,进行动手实践,完成一些调优的优化过程,加深理解. 3. 做一个完整的调优的案例,再次加深自己对Spark调优的理解.