Stephen6Yang
码龄6年
求更新 关注
提问 私信
  • 博客:37,923
    37,923
    总访问量
  • 54
    原创
  • 185
    粉丝
  • 76
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2019-02-20

个人简介:一起学习,共同进步,大数据领域知识分享

博客简介:

优质大数据领域知识记录

查看详细资料
个人成就
  • 获得236次点赞
  • 内容获得2次评论
  • 获得293次收藏
  • 代码片获得182次分享
  • 博客总排名1,317,795名
  • 原力等级
    原力等级
    3
    原力分
    363
    本月获得
    1
创作历程
  • 4篇
    2024年
  • 33篇
    2023年
  • 13篇
    2020年
  • 3篇
    2019年
成就勋章
TA的专栏
  • 实习日记
  • wonderful-sql
    13篇
  • flink
    10篇
  • 论文阅读
  • 推荐算法
    1篇
  • 课程打卡笔记
    1篇
  • 移动开发
    4篇
  • java
    6篇
  • 算法
    1篇
  • 回溯算法
    1篇
  • 二叉树
    9篇
  • hadoop
    3篇
  • python
    2篇

TA关注的专栏 6

TA关注的收藏夹 0

TA关注的社区 3

TA参与的活动 0

兴趣领域 设置
  • 大数据
    hadoophivespark
创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

53人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

使用 Hive SQL 的 LEAST 函数:找到最小值的神器

LEAST 函数是 Hive SQL 提供的一种方便的方法,用于从一组值中找到最小的那个。无论你是在处理学生的成绩、商品的价格,还是其他需要比较的数值,LEAST 函数都能快速帮你找到最小值。希望这篇博文能帮你更好地理解和使用 Hive SQL 的 LEAST 函数,使你的数据处理更加高效、简洁。, valueN 可以是列名、常数或表达式,LEAST 函数将返回这些值中最小的那一个。多列比较: LEAST 函数可用于多列(或表达式)的比较,可以大大简化SQL语句的复杂度。LEAST 函数的语法。
原创
发布博客 2024.07.12 ·
1425 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

SQL常用时间处理函数总结

当expr1大于expr2时,返回dif1的结果为正数,反之返回dif2的结果为负数.
原创
发布博客 2024.01.08 ·
825 阅读 ·
8 点赞 ·
1 评论 ·
10 收藏

SQL窗口函数大小详解

OVER 子句中的 frame_clause 选项用于指定一个滑动的窗口。窗口总是位于分区范围之内,是分区的一个子集。指定了窗口之后,分析函数不再基于分区进行计算,而是基于窗口内的数据进行计算。第一个窗口使用 ROWS 选项,包含了前后各 1 行以及当前行;第二个窗口使用 RANGE 选项,包含了当前行的数值减去 1(4-1=3)到当前行的数值加上 1(4+1=5)之间的所有数据;其中,ROWS 表示以行为单位计算窗口的偏移量;M FOLLOWING,窗口到当前行之后的第 M 行、范围 M 之内结束;
原创
发布博客 2024.01.03 ·
754 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

理解SQL中not in 与null值的真实含义

当你判断任意值a!= null时, 官方说, “You cannot use arithmetic comparison operators such as =, <, or <> to test for NULL”, 任何与null值的对比都将返回null. 因此返回结果为否,这点可以用代码 select if(1 = null, ‘true’, ‘false’)证实.A not in B的原理是拿A表值与B表值做是否不等的比较, 也就是a!= b. 在sql中, null是缺失未知值而不是空值。
原创
发布博客 2024.01.01 ·
871 阅读 ·
7 点赞 ·
1 评论 ·
7 收藏

Kafka下沉到HDFS报错

24 十二月 2023 12:38:25,127 INFO [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.sink.hdfs.HDFSCompressedDataStream.configure:64) - Serializer = TEXT, UseRawLocalFileSystem = false。
原创
发布博客 2023.12.24 ·
836 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

FlinkSQL

当流中有新数据到来,初始的表中会插入一行;而基于这个表定义的SQL查询,就应该在之前的基础上更新结果。这样得到的表就会不断地动态变化,被称为“动态表”(Dynamic Tables)。动态表是Flink在Table API和SQL中的核心概念,它为流数据处理提供了表和SQL支持。我们所熟悉的表一般用来做批处理,面向的是固定的数据集,可以认为是“静态表”;而动态表则完全不同,它里面的数据会随时间变化。
原创
发布博客 2023.12.20 ·
1207 阅读 ·
16 点赞 ·
0 评论 ·
19 收藏

Flink和Kafka连接时的精确一次保证

既然是端到端的exactly-once,我们可以从三个组件的角度来进行分析:(1)Flink内部Flink内部可以通过检查点机制保证状态和处理结果的exactly-once语义。(2)输入端输入数据源端的Kafka可以对数据进行持久化保存,并可以重置偏移量(offset)。所以我们可以在Source任务(FlinkKafkaConsumer)中将当前读取的偏移量保存为算子状态,写入到检查点中;
原创
发布博客 2023.12.19 ·
716 阅读 ·
7 点赞 ·
0 评论 ·
7 收藏

Flink-容错机制checkpoint

随时存档”确实恢复起来方便,可是需要我们不停地做存档操作。如果每处理一条数据就进行检查点的保存,当大量数据同时到来时,就会耗费很多资源来频繁做检查点,数据处理的速度就会受到影响。所以在Flink中,检查点的保存是周期性触发的,间隔时间可以进行设置。
原创
发布博客 2023.12.19 ·
1106 阅读 ·
22 点赞 ·
0 评论 ·
22 收藏

Flink-状态后端

状态后端是一个“开箱即用”的组件,可以在不改变应用程序逻辑的情况下独立配置。Flink中提供了两类不同的状态后端,一种是“哈希表状态后端”(HashMapStateBackend),另一种是“内嵌RocksDB状态后端”(EmbeddedRocksDBStateBackend)。如果没有特别配置,系统默认的状态后端是HashMapStateBackend。
原创
发布博客 2023.12.19 ·
787 阅读 ·
6 点赞 ·
0 评论 ·
7 收藏

Flink-水位线和时间语义

在实际应用中,事件时间语义会更为常见。一般情况下,业务日志数据中都会记录数据生成的时间戳(timestamp),它就可以作为事件时间的判断基础。在Flink中,由于处理时间比较简单,早期版本默认的时间语义是处理时间;而考虑到事件时间在实际应用中更为广泛,从Flink1.12版本开始,Flink已经将事件时间作为默认的时间语义了。
原创
发布博客 2023.12.16 ·
1046 阅读 ·
20 点赞 ·
1 评论 ·
20 收藏

Flink窗口的概念和分类

Flink是一种流式计算引擎,主要是来处理无界数据流的,数据源源不断、无穷无尽。想要更加方便高效地处理无界流,一种方式就是将无限数据切割成有限的“数据块”进行处理,这就是所谓的“窗口”(Window)。注意:Flink中窗口并不是静态准备好的,而是动态创建——当有落在这个窗口区间范围的数据达到时,才创建对应的窗口。另外,这里我们认为到达窗口结束时间时,窗口就触发计算并关闭。
原创
发布博客 2023.12.16 ·
540 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

MySQL-DATE_FORMAT()函数

在 SQL 中,DATE_FORMAT() 函数是用于将日期时间值格式化为指定格式的函数。它允许你根据自己的需求将日期时间值转换成各种不同的字符串表示形式。
原创
发布博客 2023.12.08 ·
1756 阅读 ·
13 点赞 ·
0 评论 ·
7 收藏

Flink基本转换算子map/filter/flatmap

map是大家非常熟悉的大数据操作算子,主要用于将数据流中的数据进行转换,形成新的数据流。简单来说,就是一个“一一映射”,消费一个元素就产出一个元素。我们只需要基于DataStream调用map()方法就可以进行转换处理。方法需要传入的参数是接口MapFunction的实现;返回值类型还是DataStream,不过泛型(流中的元素类型)可能改变。面代码中,MapFunction实现类的泛型类型,与输入数据类型和输出数据的类型有关。
原创
发布博客 2023.12.07 ·
1430 阅读 ·
7 点赞 ·
0 评论 ·
12 收藏

Flink-源算子-读取数据的几种方式

Flink可以从各种来源获取数据,然后构建DataStream进行转换处理。一般将数据的输入来源称为数据源(data source),而读取数据的算子就是源算子(source operator)。所以,source就是我们整个处理程序的输入端。方法传入的参数是一个“源函数”(source function),需要实现SourceFunction接口。Flink直接提供了很多预实现的接口,此外还有很多外部连接工具也帮我们实现了对应的Source,通常情况下足以应对我们的实际需求。
原创
发布博客 2023.12.07 ·
1595 阅读 ·
19 点赞 ·
0 评论 ·
26 收藏

回溯-组合总和

本题k相当于树的深度,9(因为整个集合就是9个数)就是树的宽度。例如 k = 2,n = 4的话,就是在集合[1,2,3,4,5,6,7,8,9]中求 k(个数) = 2, n(和) = 4的组合。
原创
发布博客 2023.12.06 ·
872 阅读 ·
19 点赞 ·
0 评论 ·
19 收藏

SQL-求解连续数问题

求解连续值的问题可以用常规的自连接方法比较当前行与下一行的值,自连接条件一般是id列,如果id列没有可以使用排序函数row_number、dense_rank等进行人为构造。
原创
发布博客 2023.12.06 ·
1220 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

Flink核心概念

当要处理的数据量非常大时,我们可以把一个算子操作,“复制”多份到多个节点,数据来了之后就可以到其中任意一个执行。这样一来,一个算子任务就被拆分成了多个并行的“子任务”(subtasks),再将它们分发到不同节点,就真正实现了并行计算。在Flink执行过程中,每一个算子(operator)可以包含一个或多个子任务(operator subtask),这些子任务在不同的线程、不同的物理机或不同的容器中完全独立地执行。一个特定算子的子任务(subtask)的个数被称之为其并行度(parallelism)
原创
发布博客 2023.12.04 ·
1378 阅读 ·
21 点赞 ·
0 评论 ·
23 收藏

SQL-分页查询offset的用法

今天在做一道关于查询一张表中第二高工资的问题时发现没有思路,经过一番搜索发现需要用到offset偏移量来解决这个问题。OFFSET关键字用于指定从结果集的哪一行开始返回数据。通常,它与LIMIT一起使用,以实现分页效果。
原创
发布博客 2023.12.01 ·
2082 阅读 ·
11 点赞 ·
0 评论 ·
13 收藏

Flink的部署模式和运行模式

Flink提交作业和执行任务,需要几个关键组件:客户端:代码由客户端获取并作转换,之后提交给JobmanagerJobmanager就是Flink集群的管事人,对作业进行中央调度管理;当从客户端获取到转换过的作业后会进一步进行处理,然后分发给众多的taskmanagerTaskmanager:真正干活的人,数据的处理操作都是它们来做。
原创
发布博客 2023.11.30 ·
662 阅读 ·
7 点赞 ·
0 评论 ·
9 收藏

SQL计算两个日期之间的差值

该函数返回两个日期/时间之间的差值,可以指定差值的单位(秒、分钟、小时、天等)。unit:表示差值的单位,可以是以下值之一:MICROSECOND(微秒)、SECOND(秒)、MINUTE(分)、HOUR(小时)、DAY(天)、WEEK(周)、MONTH(月)、QUARTER(季度)或。今天在做下面这道SQL题目的时候想直接使用end_time-start_time得到相差的秒数,发现这样直接相减得到的数值是不对的,因此在找解决方案时用到了TIMESTAMPDIFF函数。
原创
发布博客 2023.11.23 ·
4744 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏
加载更多