自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 允许间隔的连续n问题

观察后不难发现,红框中的两部分数据应该是连续的,这里可以考虑进行二次排序,但是不适合选用row_number,而应该选用dense_rank,再将sub1与二次排序后的值做时间差,得到的日期sub2就可以作为group by的条件了。要计算连续登录天数,取出窗口中最大日期与最小日期,做差即可。例如id为1的同学在1月1日登录了,1月2日没有登录,1月3日登录了,则认为其是连续登录了3天。分析排序后的数据,可以先照用传统连续n问题求解思路,将dt与rn进行差值计算,得到新的时间记为sub1.

2024-05-12 18:03:32 404 1

原创 在HIVE中使用UDF函数示例

注意,输入正确的包名,文件名,my_length自定义一个函数名,不要加括号。上传到虚拟机步骤不再演示,上传完后使用put命令上传到HDFS。使用IDEA将代码打包上传到Linux,再上传到hdfs。开启hadoop,hive,通过以下语句创建永久性函数。首先,需要编写自定义函数代码,本示例使用Java实现。hadoop fs -put 本地文件 hdfs文件路径。接下来,测试UDF函数是否能够正常使用。然后开启jar包的读写权限。

2024-04-21 11:38:08 235 1

原创 SQL中位数问题

以上结果作为子查询,再在外部进行条件过滤即可,过滤思路如下。显然,在外部查询时加上判断,rn in ( floor( (length+1) /2), floor( (length+2) /2) )的判断即可。若一个公司有4个人,那么中位数应该为2,3求平均,floor( (4+2)/2 )=3,floor( (4+1)/2 )=2。求各公司人员薪资的中位数,若公司人员为偶数个,如4人,则中位数为第二和第三的平均值。假设一个公司有3个人,那么此时中位数应该为2,floor( (3+1) / 2)=2。

2024-04-11 00:19:01 216

原创 Datax入门案例

首先,确保已经安装好mysql和datax。本案例实现从mysql同步数据到hive,从hive同步数据到datax。

2024-04-04 22:49:46 689

原创 Linux虚拟机同步系统时间

再使用date查看时间是否同步,然后重启hadoop和hive,作业即可正常运行。设置系统时间与网络时间同步。设置从节点与主节点时间同步。安装ntpdate工具。

2024-04-04 17:21:50 276 2

原创 Flink状态管理

例如使用上面的示例,TTL过期时间为5s,只有创建或者执行write操作时更新,意思是:调用process方法的时候,会更新一个TTL,只要接下来在5s内写入数据,生存时间又会更新为5s,状态值仍然存在,但间隔大于5s了,状态值会重新new一个。显然,两者的读写性能hash快很多,但是要考虑一点,状态的数据量很大的时候,如果使用哈希表状态后端,TaskManager的内存不一定够用,这时候就使用RocksDS,把状态持久化到硬盘。调用add方法时,不是将数据存储到状态中,而是将规约计算的结果存储到状态里。

2024-03-25 12:21:55 689 1

原创 Flink水位线

接下来输入测试例子,假设等待时间为3,当事件时间为10s的数据到达,并不会调用process方法,而12s数据之后还有一条事件事件为7s的数据,由于设置了等待时间,这条数据也正确进入到[0,10)秒的窗口,13s的数据到达,窗口执行、输出。有序流中,数据严格单增,在测试的时候输入几条乱序的数据,可以发现对应[0,10)秒的窗口在水位线为10s的数据到达后已经关闭,后面的乱序数据不会被放入任意一个窗口,因此乱序数据有特定的api,使用时按需选择。而当一个任务接收到多个上游并行任务传递来的水位线时,应该。

2024-03-22 16:50:27 828 1

原创 Flink窗口分配器

定义窗口分配器是构建窗口算子的第一步,窗口分配器其实就是在指定窗口的类型。窗口按驱动类型可以分为时间窗口和计数窗口,按照具体的规则,还可以细分为滚动窗口,滑动窗口,会话窗口,全局窗口四种。除去需要自定义的全局窗口,其余类型Flink都给出了内置的分配器,下面就简单进行演示内置的分配器如何使用。

2024-03-17 17:52:01 1547 1

原创 Flink窗口函数

看过上面3个案例,可以发现增量聚合函数ReduceFunction和AggregateFunction都是数据来一条处理一条,而全窗口函数ProcessWindowFunction则是在窗口结束的时候才执行计算,因此process的效率相对更低。但是process的优点在于它可以得到上下文信息,因此,将两者结合起来使用,既可以提升计算效率,又能得到窗口信息。以上两种方法不能看到窗口的信息,比如时间,因此引入全窗口函数,它提供了一个上下文对象,不仅能获取窗口信息,还能得到访问的当前时间和状态信息。

2024-03-10 18:27:06 1376 1

原创 Flume 学习记录

如以上配置所示,source的绑定channel,参数是channels,因此source与channel是一对多的关系。sink绑定channel,参数是channel,因此一个sink对应一个channel。首先要弄清楚flume架构里三者的关系。

2024-01-11 11:55:15 364 1

原创 分布式计算总结

python主要用作数据分析,语法简洁,有众多的算法库,便于快速搭建算法;函数的参数和返回值均可为函数类型,即函数能以参数形式传入另一个函数,也能以返回值形式作为另一个函数的运算结果。Executor运行在Worker上,Driver的位置根据作业提交模式决定。补充:在spark-shell中,分别记为sc和spark。从节点:worker,管理Executor和Driver。编译成java字节码文件,.class。local[n]: 多线程模式,使用n。scala重在大,速度快,语法简洁,

2023-12-31 15:58:28 1479 1

原创 centos7安装使用nc

nc -lk 端口号。

2023-11-17 17:42:17 584

原创 连续n问题求解思路

使用两次排序后的数据,有rn,id_rn两个序号,如果某一个数据num连续出现n次,这个数据对应的rn和id_rn都是连续且递增的,因此rn-id_rn是一个固定的值(rn一定大于id_rn),可以作为group的条件。至于结果中使用一次去重是基于本例题题意的,只需要得到出现次数大于3的num,如果num=1有多次连续出现次数大于3的结果,select num from t1就会得到多个num为1的数据,显然这里不需要。在 SQL 中,id 是该表的主键。1 是唯一连续出现至少三次的数字。

2023-11-06 11:53:58 80

原创 Hive常用函数

求当前年月日季度,时分秒等,注意hive中日期形式为‘xxxx-xx-xx‘或者’xxxx-xx-xx xx:xx:xx‘nullif函数,nullif(a,b),a=b返回null,否则返回a,下面给出作者本人示例。rand(种子),设置随机数种子之后,每次产生的随机数相同。nvl函数,元素为空返回指定数据,不为空返回其value。if判断,(条件,条件为真时返回值,条件为假时返回值)返回map集合的value,map_values()返回map集合的key,map_keys()round(数,精度)

2023-07-10 16:29:44 73 1

原创 Hive复杂类型

map keys terminated by ':' 是键值对内部k,v间的分隔符,collection items则和array相似,针对建表语句给出示例txt文件。collection items terminated by '分隔符' 是设置数组分隔符的语句 ,注意加载数据与sql语句中符号都在英文(或中文)状态下输入。map与python中的字典类似,表现为{"k1":"v1","k2":"v2",....}array数组和java中数组差不多,形式为[元素1,元素2,元素3,...]

2023-07-08 16:04:46 79 2

原创 Hive修改表操作

只删除元数据记录,不删除hdfs中的文件夹。新的分区为空,需要手动上传文件。

2023-07-07 23:04:52 213 1

原创 apache hive常用命令

显然,元数据与外部表相互独立,所以当我们删除外部表时,元数据并不会受到影响,这一点与内部表不同(内部表删除表,元数据也会删除)。但是如果被删除数据库不为空,会报错,可以使用以下代码强制删除(删除后对应在hdfs中文件也会删除)这里的path为自定义在hdfs上的目录,此处演示代码是先创建外部表,再移动数据到path里面去。当然也可以先有数据,存在hdfs中,再在创建表的时候指明path,也可以创建外部表。完成表的创建之后,自己在Linux创建txt文件,然后使用。然后在查询,就可以看到结果。

2023-07-03 02:10:39 74 1

原创 finalshell连接cetOS7卡顿

ssh服务端在连接时自动检测dns环境是否一致,这里将此次检测关闭即可。找到DNS,改为useDNS no(默认为#useDNS=yes)

2023-06-10 21:36:22 566

原创 HDFS常用操作命令

skipTrash 跳过回收站(回收站默认关闭,有需要的话先配置core-site.xml)hadoop fs -put [-f] 在中添加以下代码。hadoop fs -cp [-f] hadoop fs -mv 然后使用vi编辑器,输入vi hdfs-site.xml。-h :显示文件size。-f: 覆盖已有的文件。

2023-05-16 22:46:10 565

原创 前端代码实现邮箱简单设计

<input type="button" value="取消" id="but2"></div><div><input type="button" value="反选" id="but3"></div><div><input type="button" value="删除" id="but4">王小二</td><td>张伟</td><td>春花

2023-04-22 21:57:33 278

原创 计算圆的面积

<input type="button" value="重置"></div><div>圆的半径:</div><div>圆的面积:</div><div>计算圆的面积

2023-04-22 21:56:30 111 1

原创 ajax-单词查询界面设计

<input type="text" placeholder="请输入中文词汇"></div>var rem = rootHtml.clientWidth / (1080 / 100);<div id="searchArea"><input type="button" value="查词">

2023-04-22 21:55:19 106 1

原创 ajax简单实现

<a href="#">更换手机号</a></div><div class="body_left">手机号

2023-04-22 21:52:26 53 1

原创 web文本框输入检测

<a href="#">更换手机号</a>

2023-04-22 21:50:15 303 1

空空如也

空空如也

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

TA关注的人

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