自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 关于spark任务 资源分区优化经验

最近在进行集群任务的spark任务优化,记录下心得首先优化的部分 大多是hive任务变成spark任务 原因基本都是因为spark任务容易进行资源管控 不会出现一个任务把资源占了大半的情况接下来重点说的是有关于如何在资源方面提升任务效率的因素主要是两个方面 一个是集群方面的物理资源 体现为spark.instance * cores另一个是spark任务的逻辑资源 体现为spark.shuffle.partitions如果把整个场景比喻为一个办公室 ,那 spark.shuffl

2022-04-28 11:15:46 331

原创 关于spark落盘到hdfs的文件分发规则及处理总结

近期又遇到了不少有关spark/hive表落盘到hdfs的问题,借此机会系统性的记录下学习过程。此次记录的核心语句就是之前老生常谈的distribute by命令,其后跟的规则不同 会产生截然不同的效果首先回顾下落盘的过程,每一个reducer都会往某一指定路径下写一个文件,有时候一个reducer只写一个路径,有时候会写多个路径,但核心点在于 每一个reducer只会在某一路径下写一个文件。我们经常会遇到的小文件过多的问题,以及脚本运行很慢甚至卡死的情况(数据倾斜),其实大多数情况下都和落盘的

2022-02-21 17:42:28 1321

原创 HIVE表修改列名后 值全变为null

解决方法:ALTER TABLE XXX SET TBLPROPERTIES ('parquet.column.index.access'='true');

2021-12-21 11:21:23 1708

原创 数据倾斜处理case

跑批中某脚本一直卡死排查原因是某一个reducer跑的很慢导致整个任务卡死继续追踪 是因为groupby 的某个字段出现了数据倾斜解决方案:将group by a,b,c 改写成 group by concat(a,b,c) 再嵌套一层sql解析原有字段,成功解决了数据倾斜的问题...

2021-12-15 16:32:08 225

原创 SQL数据倾斜处理

调度中某跑批脚本出现问题排查原因发现是某一个reducer卡死了继续追踪 原因是group by 字段中有一个字段,出现了大量记录集中于一个值上,造成了数据倾斜解决方案,将group by a,b,c 改写成group by concat(a,b,c) 再嵌套一层解析出原始的三个字段的sql 成功解决了数据倾斜的情况...

2021-12-15 16:28:40 1239

原创 hive推送数据到mysql/oracle等数据库问题

最近在从hive往o'racle推送数据的时候碰到一个问题明明hive表结构中是bigint的字段 在推送到oracle表中对应的是number(18)的字段报错java.lang.ClassCastException: org.apache.hadoop.io.IntWritable cannot be cast to org.apache.hadoop.io.LongWritable很奇怪 明明没有int的字段 为什么说检测到输入有int类型最后排查出原因,是因为parquet文件中

2021-11-30 09:48:30 2455

原创 Datax抽取oracle大表问题

最近经常用到datax从oracle抽取大表到数仓hive当表的数据量超过千万 很容易卡住 一直抽不过来经过测试可以在querysql上加并行抽取/*+ parallel(n) */ 基于并行查询要启动并行进程、分配任务与系统资源、合并结果集一般而言主要在如下情况使用parallel1.表的数据量很大,超过一千万;2.数据库主机是多个CPU;3.系统的当前负载较低;但这个容易直接把资源占死 导致别人无法抽取业务数据库 需要做测试再正式上线...

2021-11-17 13:53:20 1615

原创 关于处理小文件数过多影响sql效率的调优问题

背景:sparksql执行过程中,发现task数目特别多,大大降低了执行的效率,经排查后发现是某张表的底层文件数过多,且每个文件大小都很小,也就是出现了小文件过多的情况原理:此处要区分spark任务和hive任务在落盘时候是不同的spark任务可以直接通过设定repartition(N)的命令来设置每个分区下的文件数目,同时在sql查询末加上distribute by rand()来避免文件大小不均以及数据倾斜的问题,这里不多描述hive任务略有不同首先reducer数目直接影响到的

2021-08-05 13:51:35 207

原创 关于map-reduce涉及数据倾斜调优问题

今天在hive任务跑批碰到了失败的问题,报错基本都是container killed,进一步看了任务日志,发现是某一个reducer失败了 耗时特别长,继续看了是在distribute by 这个算子涉及的MR任务的原因(一个脚本中会涉及到很多个MR任务)首先回顾下 distribute by 算子 一般是放在最后写文件 ,比如insert overwrite 操作之后进行,大概有distribute by rand() 和 distribute by partitions,后者一般用于多级分区的.

2021-07-02 16:25:47 122

原创 linux运行sh脚本问题

在linux运行sh脚本报错多处显示$'\r': command not found原因是因为脚本是用windows编写的每行结尾是\r\n 的Unix 结果行是\n所以在Linux下运行脚本 会任务\r 是一个字符,所以运行错误解决办法:sed -i 's/\r//'脚本名 进行转换就可以了...

2021-05-25 16:32:07 170

原创 hive导出csv文件,打开后出现乱码

经常遇见的一个问题 ,hive运行sql导出代码,结果查看出现中文乱码的问题原因:hive导出csv默认为utf8的编码,但excel打开csv的格式默认为gbk解决办法:在导出文件后,运行如下语句iconv -f UTF-8 -c -t GBK a.csv > b.csva.csv为原来文件,b.csv为gbk编码后文件...

2021-05-20 10:37:37 830

原创 文本文件导入hive库出现问题总结

在跑数据时碰到,某个字段的值需要过滤,范围是大概几万个值,就不能直接用枚举了,需要将数据存到一个临时表 然后去读这个表先建临时表CREATE EXTERNAL TABLE XXXX(XX string COMMENT 'XX') COMMENT ''ROW FORMAT DELIMITEDFIELDS TERMINATED BY '\t'STORED AS parquetLOCATION'XXXXX'TBLPROPERTIES ('parquet.compress'='SNAPPY

2021-05-20 10:04:53 679

空空如也

空空如也

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

TA关注的人

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