- 博客(11)
- 收藏
- 关注
原创 Spark动态分区写入数据卡死metastore源码分析
在一个周五的18点10分,突然收到大量任务告警信息,离线平台的所有Spark任务都无法执行,报错信息显示无法连接Hive MetaStore,登陆Hive MetaStore机器查看日志,大量的get_table和get_partition报错信息,查看metatore机器的内存使用率也正常,对应的数据库也没有大查询阻塞,因此一时间也无法定位具体问题原因,只能先将metastore重启。重启后任务陆续重启,重启后可以正常执行,但是到19点26,metastore再次进入卡死状态。
2025-02-12 18:45:16
518
原创 GROUPING__ID函数在Spark SQL与Hive中返回差异对比
由上面两个测试结果可以确定,hive和spark的0、1判断逻辑相同,都是当字段在set中存在为0,不存在为1。不同的是spark会调整字段顺序,将不在set中出现的字段全部放到最后,按照新的逻辑判断后返回grouping__id的值,而hive则是完全按照group by的顺序来判断字段是否出现。
2025-02-05 16:03:30
705
原创 flink on k8s部署--kubernetes operator方式&Application Mode方式(附构建flink镜像Dockerfile)
本次部署方案采用flink on k8s,部署方式是flink-kubernetes-operator,部署flink-kubernetes-operator需要helm。我这里使用的是jdk1.8和flink1.13,或者用docker镜像执行flink命令。我使用的是flink1.13,其他版本类似,在docker hub中查询自己所使用版本的基础镜像即可。需要kubernetes version>=1.6,flink version>=1.13。登陆数据库检查产出情况。
2023-04-17 18:01:52
1950
原创 M1芯片MacBook Pro解决snappy-java的FAILED_TO_LOAD_NATIVE_LIBRARY问题
M1芯片MacBook Pro解决snappy-java的FAILED_TO_LOAD_NATIVE_LIBRARY问题
2022-07-12 11:00:03
3516
1
原创 Flink1.13版本新背压监控指标源码详解
Flink1.13版本新背压监控指标详解背压(Back Pressured,也称为反压)是flink众多监控指标中比较重要的一个,它可以很直观的反应下游task是否能及时处理完所接收到的数据,关于背压的详细情况可以参考官网: 监控反压。注:1.13官网的背压介绍,还是基于1.12的背压计算方式。在1.12之前,flink是通过输出堆栈采样来判断是否背压的,而在1.13中,更改为使用基于任务 Mailbox 计时,并且重新实现了作业图的 UI 展示,Flink 现在在 UI 上通过颜色和数值来展示繁 忙
2021-09-03 19:54:04
1791
原创 Flink编译踩坑记录
最近因为项目需要在flink源码中更改一些内容,以支持项目开发,在修改和编译flink源码时遇到了一些问题,特此记录,以帮助其他人避免踩坑 首先要从github上clone一份源码,源码地址 将项目导入IDEA后,会发现整个flink项目巨大,包含很多module,故此可以根据自己需要将不需要的module注释掉,flink各module之间不是强耦合,只留下自己需要的module也可以顺利打包。 注释掉不需要module后,建议先打包一些,以下载所需依赖包,以及排查项目问题。
2021-08-25 17:35:27
881
原创 以计算网站pv,uv为例,详解flink sql维度表关联(Temporal Join)
本人最近在工作中遇到了一些指标需要用flink sql计算,其中就涉及到了维度表关联,开窗计算,提前输出等问题,现有网上内容(包括官网),对此方面内容并不详细,容易让新手产生一定疑惑。故此以此文章来记录所遇到的问题以及解决方案,该文章会尽可能的详细记录所遇到的问题,希望可以帮助新入坑的朋友们顺利完成相关工作。之所以选择pv和uv两个指标,一方面是这两个指标相对来说足够简单,同时也包含一定的技术点,而且也是数据工作中相对常见的指标,故此以此来作为案例讲解。本文会介绍展示基于两种时间(事件时间和处理时间)的
2021-03-08 17:44:01
3904
4
原创 spark 二次排序两种方法(scala)
排序数据:aa 34bb 24cc 83aa 53cc 12aa 47bb 35aa 21cc 64bb 73第一种方法是用spark中的sortBy方法:首先将数据处理成(“aa”,34)的格式;然后使用sortBy算子进行排序;/** * 二次排序使用sortBy */rdd.map(a => (a.split(" ")(0),a.split(" ")(1)....
2018-03-25 01:02:42
3105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人