- 博客(76)
- 收藏
- 关注
原创 Hive grouping sets 一次性获取多维度的聚合结果
在Hive中,grouping sets是一种用于在单个查询中进行多组聚合的扩展语法,它允许用户在GROUP BY子句中指定多个聚合组合,以减少查询数量,提高查询效率。每个组合由一个或多个列组成,Hive会为每个组合计算聚合结果并合并为一个结果集。如果某个列未包含在grouping sets中,则对应的聚合结果将为NULL。
2024-03-05 14:26:11
765
原创 使用java构建一个哈夫曼树
功能总结:该代码实现了一个简单的哈夫曼树结构,包括构建哈夫曼树和打印哈夫曼树结构的功能。通过优先队列来按照频率构建哈夫曼树,然后递归地打印出哈夫曼树的结构。
2024-03-04 20:17:29
813
原创 Flink算子通用状态应用测试样例
这段代码实现了一个 Flink 作业,生成随机数据并对数据进行状态聚合处理。其中包括数据源生成、按键分区、状态初始化、元素聚合处理和结果输出。可以作为多场景下通用的实时数据处理模型。
2024-02-29 19:33:21
937
原创 获取Flink作业在HDFS上保存的最新的savepoint文件路径
综合起来,这段代码的作用是获取Flink作业在HDFS上保存的最新savepoint文件的路径,并将路径赋值给变量 savepoint。上面的代码是一个Shell命令,用于获取Flink作业在HDFS上保存的最新的savepoint文件路径。
2024-02-28 19:44:42
791
原创 Flink算子window简单示例
2. 时间戳和水印生成:通过 assignTimestampsAndWatermarks 方法为数据分配时间戳,并指定水印生成策略。3. 窗口定义:使用 windowAll 方法定义一个10秒的滚动事件时间窗口。4. 窗口处理:使用 ProcessAllWindowFunction 处理窗口中的所有元素,打印窗口的时间范围、当前处理时间以及窗口中的数据。5. 作业执行:通过 env.execute 执行 Flink 作业。6.执行结果:在上面的执行结果中,我们可以
2024-02-26 18:56:03
647
原创 FlinkSql一个简单的测试程序
通过这段代码,您可以了解如何使用 Flink Table API 和 Flink SQL 对数据流进行简单的处理和分析,包括数据拆分、选择、过滤、分组和计算。最后,通过 toRetractStream 方法将结果打印输出。以下是一个简单的 Flink SQL 示例,展示了如何使用 Flink Table API 和 Flink SQL 进行基本的数据流处理。
2024-02-19 11:01:52
896
原创 IDEA2021.3.3版本Include dependencies with “Provided“ scope位置
在较新的IDEA版本中,没有Include dependencies with “Provided” scope这个选项,这个选项被调整为Add dependencies with “provided” scope to classpath。
2024-02-02 18:28:20
1822
原创 hbase shell行键过滤正则匹配
在实际运维生产环境的过程中,经常遇到需要过滤rowkey包含部分字符的场景。以下列出可行的几种操作方式。
2024-01-23 16:36:48
1268
原创 Java获取纳秒的应用场景
java提供了获取纳秒的方法 System.nanoTime() ,返回的是相对于某个未指定的起点的纳秒数。它提供了一个高精度的时间戳,可用于测量代码执行时间和计算时间间隔。
2024-01-11 16:36:57
797
原创 java装饰设计模式的简单示例代码
/ 定义一个接口// 实现接口的具体组件类@OverrideSystem.out.println("执行具体组件的操作");// 装饰器基类@Override// 具体装饰器类A@OverrideSystem.out.println("为组件A添加额外的操作");// 具体装饰器类B@OverrideSystem.out.println("为组件B添加额外的操作");// 代码调用// 创建具体组件对象// 对具体组件对象进行装饰// 调用装饰后的操作。
2024-01-09 19:00:58
448
原创 java体现反射的简单示例
System.out.println(name + ": 2024旺旺旺...");return "你好!我是" + name;
2024-01-05 21:15:21
365
原创 java实现简单的递归示例
在这个示例中,我们定义了一个 countDown 方法,它接收一个整数 n 作为参数。否则,我们先输出当前的 n 值,然后通过递归调用 countDown 方法,将 n 减 1,重复前面步骤。通过递归调用自身,我们可以实现对 countDown 方法的重复调用,每次都处理一个较小的问题,直到满足递归结束的条件。当涉及到处理需要重复执行相同操作的情况时,递归是一种非常重要的编程技巧。以下是一个使用递归的示例。递归在许多算法和问题中都起到关键作用,例如树的遍历、图的搜索、排列组合等。
2024-01-05 09:30:39
507
原创 java库commons-lang3字符串处理功能
StringUtils 是 Apache Commons Lang 中的一个工具类,它提供了许多常用的字符串处理方法。
2024-01-04 18:50:56
511
原创 java实现适配器设计模式
在这个示例中,Phone 类表示一个手机,它有一个 charge() 方法来充电。Voltage220V 类表示一个 220V 电源,它有一个 getVoltage() 方法来获取电压。PowerAdapter 类是电源适配器,它将 220V 电压转换成 5V 电压,然后给手机充电。适配器模式可以将一个接口转换成客户端期望的另一个接口,使得原本不兼容的两个接口可以一起工作。④使用适配器给手机充电。
2024-01-03 16:20:14
491
原创 java实现1000桶酒,1桶有毒,最少需要10只小白鼠
有1000桶酒,其中1桶有毒。而一旦喝了,毒性会在1周后发作。现在我们用小白鼠做实验,要在1周后找出那桶毒酒,问最少需要多少小白鼠。
2024-01-03 13:48:09
999
原创 java实现建造者设计模式
Pizza 类是建造者模式的核心类。它定义了 Pizza 对象的属性,并提供了一个构造函数来创建 Pizza 对象。PizzaBuilder 类是 Pizza 类的建造者类。它提供了一系列方法来设置 Pizza 对象的属性,并提供了一个 build() 方法来创建 Pizza 对象。
2024-01-02 10:28:52
578
原创 java实现常见的三种工厂模式
①抽象产品A B②定义具体产品A1 A2 B1 B2③抽象工厂④定义具体工厂1 2⑤示例使用每种模式都有不同的应用场景和特点,可以根据具体需求选择适合的工厂模式来创建对象。
2023-12-25 16:29:28
941
原创 java实现线程安全的单例设计模式
lazyInstance 是懒汉式单例,它在第一次调用 getLazyInstance() 方法时才会被实例化。在多线程环境下,通过双重检查锁(Double-Checked Locking)来确保线程安全。需要注意的是,为了保证线程安全, lazyInstance 的声明中使用了 volatile 关键字,以禁止指令重排序,确保在实例化时的可见性。eagerInstance 是饿汉式单例,它在类加载时就立即实例化,保证了在任何情况下都能获取到同一个实例。
2023-12-24 23:04:33
511
原创 java使用ConcurrentHashMap确保线程安全
this.v = v;@Override//向ConcurrentHashMap插入数据System.out.println("线程" + v + "成功插入键值对");} else {System.out.println("线程" + v + "未能插入键值对,已存在相同的键,值=" + value);
2023-12-23 23:08:30
434
原创 java库commons-lang3支持的日期处理功能
Apache Commons Lang3 是 Apache Commons 项目下的一个子项目,它提供了大量的工具类和 API,可以用于字符串处理、日期处理、数学计算、集合操作等。Apache Commons Lang3 支持多种日期格式和计算方式,支持日期的比较和转换,解析和格式化。这些特点使之成为一个非常实用的日期处理工具。
2023-12-22 23:03:47
641
原创 java数据结构之位图运算
/存储数据的数组,每个元素表示 64 位的数据//构造函数,初始化 bits 数组//添加一个数字到数组中//从数组中删除一个数字//判断数组中是否包含某个数字= 0;//获取数组中所有数字的集合i++) {j < 64;j++) {= 0) {System.out.println("是否包含99?System.out.println("是否包含98?System.out.println("是否包含99?
2023-12-21 11:54:06
515
原创 java如何实现动态代理?
当使用java实现动态代理时,可以使用 java.lang.reflect.Proxy 类和 java.lang.reflect.InvocationHandler 接口。在上面的示例中,我们首先定义了一个接口 Hello 和它的具体实现类 HelloImpl。然后,我们创建了一个 InvocationHandler 接口的匿名内部类 ,它负责处理代理逻辑。在 invoke 方法中,我们在调用目标方法之前和之后打印了一些日志。
2023-12-19 12:48:47
362
原创 java字符串做md5加密
提示:为了增加加密的安全性,还可以使用随机生成的盐值与原始字符串进行组合。这样可以增加密码的复杂度,并防止彩虹表攻击。
2023-12-18 18:46:48
743
原创 java接口中的方法都是抽象的吗?
在这种情况下,MyInterface接口中的方法method1是抽象方法,必须在实现类MyClass中实现。但是,MyInterface接口中的方法method2是具体实现方法,可以直接在接口中定义。总结一下,Java接口中的方法可以是抽象的,也可以是具体实现的。抽象方法必须在实现类中实现。具体实现方法可以直接在接口中定义,也可以在实现类中定义。
2023-12-18 15:24:54
2325
原创 java实体类使用Lombok简化代码
Lombok 是一个 Java 库,它可以帮助我们简化代码。Lombok 可以自动生成 getter、setter、equals 方法、hashCode 方法、toString 方法等。提示:@Data注解会生成大量的代码,这可能会导致代码膨胀。因此,我们在使用@Data注解时,需要根据实际情况进行选择。
2023-12-17 21:21:36
406
原创 java读取keystore密钥证书信息
提示:KeyStore 文件是用来存储密钥和证书的文件。如果 KeyStore 文件不存在或损坏,则无法读取 KeyStore 中的密钥和证书。
2023-12-16 22:46:26
821
原创 java使用正则表达式验证身份证号有效性
提示:该正则表达式只能判断身份证号格式是否正确。如果要验证身份证号是否真实存在,还需要结合公安部门的身份证号数据库进行查询验证。
2023-12-16 16:20:11
1051
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅