2024-04-13 13:57:37
19
0
0
使用Table API处理无界数据流
Written by 黄俊仁,2024/04/13
如下示例代码从自定义数据源 NBUSource 接收实时字符串流,并将这个流转换成表(Table)。它使用 Table API 执行一个查询,筛选出包含字母 't' 的所有字符串。最后,筛选后的结果被转换回 DataStream<Row> 。
package org.nbubigdata.flink;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.s
2024-04-13 13:58:35
22
0
0
使用Table API处理有界数据流
Written by 黄俊仁,2024/04/13
首先创建一个Java的POJO类NBUOrder,如下所示:
package org.nbubigdata.flink.Pojo;public class NBUOrder { //定义类的属性 public Long id; public String product; public int amount; //无参构造方法 public NBUOrder() { } //有参构造方法 public NBUOrder(Lon
2024-04-13 13:59:17
32
0
0
使用WindowAll定义全局窗口
Written by 黄俊仁,2024/04/13
如下示例代码在一个全局窗口(不分组)的基础上计算每个窗口内接收到的单词总数。它首先从自定义数据源 NBUSource 中接收字符串流,然后利用 Tokenizer 类将每条字符串拆分成单词,并生成包含单词和计数(初始化为1)的元组。这些元组随后通过 windowAll 方法被收集进一个固定时间长度(5秒)的滚动窗口中,窗口内的所有元素计数被累加起来,以计算出该时间段内的单词总数。
package org.nbubigdata.flink;import org.apache.flin
2024-04-13 14:00:04
35
0
0
使用Window对无界数据流进行时间分窗
Written by 黄俊仁,2024/04/13
如下示例用于统计从自定义数据源 NBUSource 中接收到的单词出现的次数。通过使用 Splitter 类实现的 flatMap 方法,程序将接收到的字符串拆分成单词,并为每个单词创建一个包含单词和计数 1 的元组。接着,它通过 keyBy 方法按单词分组,并应用了一个基于时间的窗口(每 5 秒一个窗口),在这个窗口内对每个单词的出现次数进行累加。
package org.nbubigdata.flink;import org.apache.flink.api.common
2024-04-13 13:53:04
33
0
0
使用keyBy对无界数据流进行分区
Written by 黄俊仁,2024/04/13
如下示例实现了一个动态单词计数功能。程序从自定义数据源 NBUSource 接收一个连续的字符串流,然后通过实现的 Tokenizer 类将每个字符串拆分成单词,并为每个单词生成一个包含单词本身和初始计数 1 的元组。这些元组随后根据单词(元组的第一个元素)进行分组,对每个组内的计数(元组的第二个元素)进行累加,以此计算出每个单词在流中出现的总次数。
package org.nbubigdata.flink;import org.apache.flink.api.common.fu
2024-04-13 14:01:29
31
0
0
多流处理
Written by 黄俊仁,2024/04/13
这个程序展示了如何在 Apache Flink 中使用 connect 操作符将两个不同的数据流连接起来,并通过 CoMapFunction 分别对这两个流的元素进行处理。每个流的数据通过 NBUSource 产生,并分别加上前缀 "Stream1: " 和 "Stream2: " 来区分来源,最后将处理过的数据统一输出到控制台。这个示例演示了 Flink 处理多源数据流并在单个作业中应用不同逻辑的能力。
package org.nbubigdata.flink;import org.apache.flin
2022-10-13 22:47:22
204
0
0
实验1、数据定义
1.1 实验目的
熟悉SQL的数据定义语言,能够理解并熟练地使用SQL语句来创建、修改和删除数据库、模式和基本表,创建和取消索引,特别是各种参数的具体含义和使用方法。掌握SQL 语句常见语法错误的调试方法。
1.2 实验内容
在DataStudio的SQL终端中使用CREATE语句创建数据库Db_Uni,该数据库为nbuuser所属。
在DataStudio的SQL终端中使用SQL语句创建SCHEMA并授权给用户nbuuser。
在DataStudio的SQL终端中使用CREATE语句创建基本表。
更改基本表的定义: 增加列,删除列,修改列的
2022-10-13 22:47:22
142
0
0
实验2、SQL的数据查询
2.1 实验目的
熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和分组统计查询。
2.2 实验内容
实验内容主要是对数据库的数据进行查询操作,包括如下四类查询方式:
1. 单表查询
* 查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。
* 使用DISTINCT保留字消除重复行。
* 对查询结果排序和分组。
* 集合分组使用集函数进行各项统计。
2. 连接查询
* 笛卡儿连接和等值连接。
* 自连接。
* 外连接
* 复合条件连接。
* 多表连接。
3.
2022-10-13 23:41:42
99
0
0
实验3、数据更新
3.1 实验目的
熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改与删除操作。
3.2 实验内容
在本实验中,主要内容是如何用SQL语句对数据进行更新。
使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。
使用SELECT INTO语句,产生一个新表并插入数据。
使用UPDATE语句可以修改指定表中满足WHERE子句条件的元组,有三种修改的方式:修改某一个元组的值;修改多个元组的值;带子查询地修改语句。
使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子
2022-10-13 23:42:08
118
0
0
实验4、SQL的视图
4.1 实验目的
熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和删除视图。定义数据库外模式,并能使用所创建的视图实现数据管理。理解和掌握视图消解执行原理,掌握可更新视图和不可更新视图的区别。理解物化视图。
4.2 实验内容
定义常见的视图形式,包括:
行列子集视图
WITH CHECK OPTION的视图
基于多个基表的视图
基于视图的视图
带表达式的视图
分组视图
全量物化视图
通过实验考察WITH CHECK OPTION这一语句在视图定义后产生的影响,包括对修改操作、删除操作、插入操作的影响