自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 spark优化三部曲(三)--参数调优

spark优化-参数优化

2021-12-28 16:15:18 941

原创 spark优化三部曲(二)--代码优化

spark 在代码层面上的优化

2021-12-28 15:52:32 1160

原创 spark优化三部曲(一)--瓶颈分析

spark优化经验

2021-12-28 11:00:05 1409

原创 Spark物理计划和CBO和AQE

1.Spark本身其实并没有实现成本模型,目前一个逻辑计划可能生成多个物理计划,Spark源码直接调用.next来获取列表的第一个物理计划。只是列表的顺序是按照经验值排序的,比如broadcastjoin排序在sortmergejoin之前2.cbo是基于数据静态信息统计,以及抽样数据进行成本估算实现的。这部分代码在catalsy其实是属于生成逻辑计划的部分。还是以broadcastjoin举例。select * from a join b on a.key = b.key where b.va

2021-12-01 16:30:33 1379

原创 linux服务器查看公网IP信息的方法

curl ifconfig.me在linux系统中输入上述的命令,可以查看到本机连接的公网信息;如果该命令无效,可以使用下面一个命令,也同样可以获得对应的信息curl cip.cc

2021-11-24 17:17:39 2248

原创 hive查看表大小

desc formatted xxx

2021-11-01 16:36:01 2840

原创 spark3和hbase交互,hbase-connectors

jar包需要自己编译,目前官网没有git clone https://github.com/apache/hbase-connectors.gitmvn -Dspark.version=3.1.2 -Dscala.version=2.12.10 -Dscala.binary.version=2.12 -Dhbase.version=2.2.7 -Dhadoop.profile=3.0 -Dhadoop-three.version=3.3.1 -DskipTests -Dcheckstyle.ski

2021-08-13 16:59:25 576 1

原创 分布式bitmap的思想和实现

特定场景可以做到百亿数据查询在秒级响应分布式位图:https://www.pilosa.com/blog/range-encoded-bitmaps/http://pages.cs.wisc.edu/~jignesh/cs564/notes/lec06-BitbasedIndexing.pdf

2021-05-26 17:47:20 220

原创 Spark开发规范(scala版)

个人总结,供参考,若有错误,欢迎指正Spark官网:http://spark.apache.org/Spark参数:http://spark.apache.org/docs/latest/configuration.html0.参照《阿里java开发手册》1.对于确定长度的数组,用模式匹配来获取每一位的数据正例:val Array(name,age) = x.split(",")反例: val array = x.split(","); val name = array(0); val.

2021-03-24 15:16:11 1387

原创 万亿级别的shuffle量,Spark SQL 调优

接了一个业务方面的Spark Sql需求,2个大表join.20e 和90e数据join,无其他复杂逻辑,按固定字段join。由于发生了叉乘。中间结果达到上万亿,12T数据量。Task很容易失败,查看具体LOG,报一些经典shuffle异常,比如timeout, shuffle lost location。调优思路:让每个task处理更少的数据量(提高并发),减少GC时间,提高程序稳定性(retry和timeout参数配置),shuffle系列参数1.先查看Spark Web Ui.

2020-12-10 14:37:55 808

原创 hive on spark。beeline指定队列和设置参数

今天hive引擎从tez迁移到了spark。希望通过beeline指定队列和参数。beeline -u 'jdbc:hive2://host:port?mapreduce.job.queuename=queue;spark.executor.instances=5;spark.executor.cores=1;spark.executor.memory=4G' -n username;

2020-09-16 18:22:01 4382

原创 spark如何合理的分配资源(executor-memory,num-executors,executor-cores)

以下为经验之谈,结合个人对spark框架的理解,如有错误,欢迎指正。以yarn为例:一。executor-memory,在集群资源允许的情况下,当然越多越好,个人建议上限为单个containers最大值的75%。二。num-executors和executor-cores,由于执行任务的并发数=num-executors * executor-cores 。所以这一点经常会思考是100*1好,还是50*2比较好。1.假设shuffer压力不大,①在数据分布均匀,executor-memo

2020-06-30 15:42:54 2334 2

转载 spark的task分布不均匀,某些executor没有领取任务

今天执行的一个spark job的,共计有30000个任务,分配了100个executor,但是大部分任务都分布在了某些executor上。有些excutor只执行了1个任务。经查资料与spark数据本地化有关。先说解决方案:提交任务时候加参数 --conf spark.locality.wait=0原文链接:https://blog.csdn.net/zhouyan8603/article/details/841971901.概念:task在执行前都会获取数据的分区信息进行分配,总是.

2020-06-30 15:18:41 3577 3

原创 spark读取parquet文件,分配的任务个数

假设path为一个parquet文件目录,该目录下有64个part。大小共100G,数据均匀分布,采用gz或snappy等不可分割的压缩算法。那么执行以下代码。会起多少个task呢?val df = spark.read.parquet(path)df.count博主以为gz文件不可分割,所以会起64个part。但是结果起了1000+个task。原因:parquet文件压缩是内部数据分块压缩,而不是整个压缩。也就是说所谓的不可分割指的是block不可分割。起的task数.

2020-06-01 18:59:48 1390

原创 Spark写入parquet,设置Repetition。解决org.apache.parquet.io.InvalidRecordException

自定义case class,采用以下方式生成parquet文件,其Repetition为optionalcase class Log(id:String)ds[Log].write.parquet(path)业务上,后面使用parquet文件要求Repetition为required。直接读取会报错。解决方式 :自定义schema,nullable参数设置为false,创建DF写入。val schema:StructType = StructType( Arra...

2020-05-16 12:09:52 943

原创 spark2.3.3消费kafka中的数据,与hive中的表做关联并写入elasticsearch6.5.3(spark structed streaming)

背景:本地物理机机房新建了一个大数据集群(cdh,spark2.3.3+hive3.0)旧集群环境:spark2.1.0+hive2.4.2新旧集群为内网访问。未参与集群的搭建,不知道配置文件目录,各种依赖的jar版本,端口等。elasticsearch的端口经过一层nginx转发。解决过程:①hive旧数据数据迁移:在旧的hive集群执行export table a.b pa...

2019-01-20 02:02:41 597

原创 python 发送带有附件的邮件

恩恩。。奇怪,刚才是用了另外一个账号发吗。。不管了反正都是新的。来新公司实习,需要一个发邮件的小工具来给自己用。之前没接触过python,百度结合领导给的参考代码总算写出来了。。之前没写过博客,这次也就当做个笔记吧。。import smtplibimport email.utilsfrom email.mime.text import MIM

2016-02-17 15:07:08 297

JAVA web开发技术教程源码-张娜主编

JAVA web开发技术教程源码 张娜主编 供同学们参考使用。

2014-05-25

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除