自定义博客皮肤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 457

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

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

2022-02-21 17:42:28 1571

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

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

2021-12-21 11:21:23 1931

原创 数据倾斜处理case

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

2021-12-15 16:32:08 312

原创 SQL数据倾斜处理

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

2021-12-15 16:28:40 1346

原创 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 2613

原创 Datax抽取oracle大表问题

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

2021-11-17 13:53:20 1917

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

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

2021-08-05 13:51:35 487

原创 关于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 216

原创 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 276

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

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

2021-05-20 10:37:37 996

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

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

2021-05-20 10:04:53 855

空空如也

空空如也

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

TA关注的人

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