Hive(20):Hive的函数之窗口函数
目录
0. 相关文章链接
1. 窗口函数概述
1.1. 什么是窗口函数
1.2. 窗口函数的功能
1.3. 窗口函数的种类和位置
1.4. 窗口函数说明
2. 聚合窗口函数
3. 排序窗口函数
3.1. 不同排序窗口函数的区别
3.2. SQL编写和查询结果展示
4. 排序截取数据函数
4.1. 排序截取数据函数的区别
4.2. 原始数据
4.3. lag和lead函数的使用和结果
5. 排序限制分区函数
5.1. 各排序限制分区函数说明
5.2. SQL编写和结果展示
0. 相关文章链接
Hive文章汇总
1. 窗口函数概述
1.1. 什么是窗口函数
- 简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。
- 开窗函数一般就是说的是over()函数,其窗口是由一个 OVER 子句 定义的多行记录
- 开窗函数一般分为两类,聚合开窗函数和排序开窗函数。
1.2. 窗口函数的功能
<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名> [rows between ?? and ???])
- 同时具有分组和排序的功能
- 不减少原表的行数
1.3. 窗口函数的种类和位置
- 专用窗口函数,包括rank, dense_rank, row_number等专用窗口函数
- 聚合函数,如sum(). avg(), count(), max(), min()等,rows between…and…
- 因为窗口函数是对where或者group by子句处理后的结果进行操作,所以窗口函数原则上只能写在select子句中
1.4. 窗口函数说明
- over():是窗口函数的核心,需要开窗的全部都需要使用这个函数
- partition by:用来对表分组,后续跟上分组的字段,会给该字段中每个不同的值开一个窗(可以添加多个字段)
- order by:是对分组后的结果进行排序,默认是按照升序(asc)排列,可以进行多个字段降序
- rows between ?? and ???:用来对窗口中已经排序完成后的上下数据进行筛选
2. 聚合窗口函数
聚合窗口函数就是在通过over开窗的情况下,使用sum、max等聚合函数对开窗之后的结果进行聚合汇总;跟普通的聚合函数不同,普通聚合函数只会生成一条结果数据,聚合窗口函数会在每一行中都新增一列,用了存储这聚合结果,这个窗口有多少条数据,那就会有多少条一模一样的结果数据。
原始数据如下表所示(只列举出了部分数据):
user_id | cat_id | score |
618 | 488 | 0.0320793066566 |
7325 | 5648 | 0.1794971885383 |
7325 | 5653 | 0.0195317941826 |
9549 | 472 | 0.2734451185567 |
9549 | 316 | 0.0102923143349 |
10187 | 560 | 0.09287464288 |
16093 | 299 | 0.8203353556701 |
19109 | 450 | 0.0129389094682 |
29043 | 5580 | 0.0780796261011 |
29043 | 360 | 0.0445708866509 |
30207 | 301 | 0.1283038644617 |
37469 | 318 | 0.0672950094793 |
42121 | 364 | 0.0285768131938 |
45021 | 476 | 0.0290241345941 |
48161 | 308 | 1.3997567045733 |
48161 | 530 | 0.0280696255429 |
53008 | 510 | 0.0292976912317 |
53568 | 302 | 0.6823961209357 |
58397 | 300 | 0.0356667545944 |
SQL编写和查询结果展示:
selectuser_id, third_cat_id as cat_id, score, max(score) over(partition by user_id) max_score_of_user, min(score) over(partition by user_id) min_score_of_user, count(score) over(partition by user_id) cnt_score_of_user, avg(score) over(partition by user_id) avg_score_of_user, sum(score) over(partition by user_id) sum_score_of_user
from yishou_recommendation_system.user_third_category_score_15day
user_id | cat_id | score | max_score_of_user | min_score_of_user | cnt_score_of_user | avg_score_of_user | sum_score_of_user |
1697 | 325 | 0.24999999928 | 0.24999999928 | 0.24999999928 | 1 | 0.24999999928 | 0.24999999928 |
13638 | 401 | 0.1924408114735 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 318 | 0.8433564379566 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 295 | 0.8473076857954 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 299 | 0.3413452337674 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 556 | 0.4636178949445 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 472 | 0.0769230769231 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 314 | 0.1531243564897 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 363 | 0.0153345765378 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 431 | 0.0928746430137 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 303 | 0.1512020592657 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 316 | 0.1252590167457 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 490 | 0.0153345765378 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 301 | 0.4550003444724 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 488 | 0.4961183604825 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 300 | 0.2698680479978 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 361 | 0.0769230769231 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 493 | 0.0153345765378 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 521 | 0.1332110723867 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
13638 | 561 | 0.0769230769231 | 2.3144764447547 | 0.0153345765378 | 29 | 0.30592698646857247 | 8.871882607588601 |
3. 排序窗口函数
3.1. 不同排序窗口函数的区别
- rank():如果有并列名次的行,会占用下一名次的位置,排序结果是 1,1,3
- dense_rank():如果有并列名次的行,不占用下一名次的位置,排序结果是 1,1,2
- row_number():不考虑并列名次的情况,排序结果是 1,2,3
3.2. SQL编写和查询结果展示
selectuser_id, third_cat_id as cat_id, score, rank() over(partition by user_id order by score) score_rank_of_user, dense_rank() over(partition by user_id order by score) score_dense_rank_of_user, row_number() over(partition by user_id order by score) score_row_number_of_user
from yishou_recommendation_system.user_third_category_score_15day
user_id | cat_id | score | score_rank_of_user | score_dense_rank_of_user | score_row_number_of_user |
1697 | 325 | 0.24999999928 | 1 | 1 | 1 |
13638 | 493 | 0.0153345765378 | 1 | 1 | 1 |
13638 | 363 | 0.0153345765378 | 1 | 1 | 2 |
13638 | 5657 | 0.0153345765378 | 1 | 1 | 3 |
13638 | 490 | 0.0153345765378 | 1 | 1 | 4 |
13638 | 325 | 0.0153345765378 | 1 | 1 | 5 |
13638 | 340 | 0.0379776680745 | 6 | 2 | 6 |
13638 | 472 | 0.0769230769231 | 7 | 3 | 7 |
13638 | 361 | 0.0769230769231 | 7 | 3 | 8 |
13638 | 561 | 0.0769230769231 | 7 | 3 | 9 |
13638 | 562 | 0.0769230769231 | 7 | 3 | 10 |
13638 | 510 | 0.0928746430137 | 11 | 4 | 11 |
13638 | 431 | 0.0928746430137 | 11 | 4 | 12 |
13638 | 316 | 0.1252590167457 | 13 | 5 | 13 |
13638 | 521 | 0.1332110723867 | 14 | 6 | 14 |
13638 | 394 | 0.1401607366123 | 15 | 7 | 15 |
13638 | 303 | 0.1512020592657 | 16 | 8 | 16 |
13638 | 314 | 0.1531243564897 | 17 | 9 | 17 |
13638 | 401 | 0.1924408114735 | 18 | 10 | 18 |
13638 | 300 | 0.2698680479978 | 19 | 11 | 19 |
13638 | 299 | 0.3413452337674 | 20 | 12 | 20 |
13638 | 304 | 0.4085346499663 | 21 | 13 | 21 |
13638 | 308 | 0.4296759077854 | 22 | 14 | 22 |
13638 | 301 | 0.4550003444724 | 23 | 15 | 23 |
13638 | 556 | 0.4636178949445 | 24 | 16 | 24 |
13638 | 488 | 0.4961183604825 | 25 | 17 | 25 |
13638 | 294 | 0.4990914022087 | 26 | 18 | 26 |
13638 | 318 | 0.8433564379566 | 27 | 19 | 27 |
13638 | 295 | 0.8473076857954 | 28 | 20 | 28 |
13638 | 302 | 2.3144764447547 | 29 | 21 | 29 |
4. 排序截取数据函数
4.1. 排序截取数据函数的区别
- lag(col,n,default_val):获取往前第n行数据,col是列名,n是往上的行数,当第n行为null的时候取default_val
- lead(col,n, default_val):往后第n行数据,col是列名,n是往下的行数,当第n行为null的时候取default_val
- ntile(n):把有序分区中的行分发到指定数据的组中,各个组有编号,编号从1开始,对于每一行,NTILE返回此行所属的组的编号。
- cume_dist(),计算某个窗口或分区中某个值的累积分布。假定升序排序,则使用以下公式确定累积分布:小于等于当前值x的行数 / 窗口或partition分区内的总行数。其中,x 等于 order by 子句中指定的列的当前行中的值。
4.2. 原始数据
user_id | record_date |
11343325 | 2022-09-04 06:17:24 |
11343325 | 2022-09-04 06:17:24 |
11343326 | 2022-09-04 06:17:25 |
11343326 | 2022-09-04 06:17:25 |
11343327 | 2022-09-04 06:17:26 |
11343327 | 2022-09-04 06:17:26 |
11343326 | 2022-09-04 06:17:27 |
11343328 | 2022-09-04 06:17:27 |
11343328 | 2022-09-04 06:17:27 |
11343329 | 2022-09-04 06:17:28 |
11343329 | 2022-09-04 06:17:28 |
4654923 | 2022-09-04 06:17:30 |
11343330 | 2022-09-04 06:17:32 |
11343330 | 2022-09-04 06:17:32 |
11343331 | 2022-09-04 06:17:35 |
11343331 | 2022-09-04 06:17:35 |
11343332 | 2022-09-04 06:17:37 |
11343332 | 2022-09-04 06:17:37 |
11343333 | 2022-09-04 06:17:37 |
11343333 | 2022-09-04 06:17:37 |
11343334 | 2022-09-04 06:17:40 |
11343334 | 2022-09-04 06:17:40 |
4.3. lag和lead函数的使用和结果
selectuser_id, record_date, lag(record_date, 1, '1970-01-01 00:00:00') over(partition by user_id order by record_date) as start_date, lead(record_date, 1, '9999-99-99 00:00:00') over(partition by user_id order by record_date) as end_date
from user_table
使用user_id分组,并使用record_date进行升序排序;lag函数会获取之前一行的record_date数据作为start_date字段的值,并回使用 '1970-01-01 00:00:00' 作为默认值;lead函数会获取之后一行的record_date数据作为end_date字段的值,并回使用 '9999-99-99 00:00:00' 作为默认值;结果如下所示:
user_id | record_date | start_date | end_date |
1000045 | 2022-09-03 11:41:50 | 1970-01-01 00:00:00 | 9999-99-99 00:00:00 |
1000061 | 2022-09-03 15:22:21 | 1970-01-01 00:00:00 | 9999-99-99 00:00:00 |
100013 | 2022-09-03 08:14:36 | 1970-01-01 00:00:00 | 2022-09-03 14:47:43 |
100013 | 2022-09-03 14:47:43 | 2022-09-03 08:14:36 | 2022-09-03 14:48:25 |
100013 | 2022-09-03 14:48:25 | 2022-09-03 14:47:43 | 2022-09-03 14:49:11 |
100013 | 2022-09-03 14:49:11 | 2022-09-03 14:48:25 | 2022-09-03 15:08:41 |
100013 | 2022-09-03 15:08:41 | 2022-09-03 14:49:11 | 2022-09-03 15:09:27 |
100013 | 2022-09-03 15:09:27 | 2022-09-03 15:08:41 | 9999-99-99 00:00:00 |
具体赋值如下图所示:
5. 排序限制分区函数
5.1. 各排序限制分区函数说明
- rows必须跟在Order by 子句之后,对排序的结果进行限制,使用固定的行数来限制分区中的数据行数量;
- OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化;
- current row:当前行;
- n preceding:往前n行数据;
- n following:往后n行数据;
- unbounded preceding:该窗口数据的起点;
- unbounded following:该窗口数据的终点;
5.2. SQL编写和结果展示
selectuser_id, third_cat_id as cat_id, score-- 以user_id分组,按照score进行升序排序, row_number() over(partition by user_id order by score) as row_number_id-- 以user_id分组,按照score进行升序排序,求该窗口中第一行到当前行的和, sum(score) over(partition by user_id order by score rows between unbounded preceding and current row) sum_1-- 以user_id分组,按照score进行升序排序,求该窗口中之前一行到当前行的和, sum(score) over(partition by user_id order by score rows between 1 preceding and current row) sum_2-- 以user_id分组,按照score进行升序排序,求该窗口中当前行到之后一行的和, sum(score) over(partition by user_id order by score rows between current row and 1 following) sum_3-- 以user_id分组,按照score进行升序排序,求该窗口中当前行到最后一行的和, sum(score) over(partition by user_id order by score rows between current row and unbounded following) sum_3from yishou_recommendation_system.user_third_category_score_15day
user_id | cat_id | score | row_number_id | sum_1 | sum_2 | sum_3 | sum_3 |
1697 | 325 | 0.24999999928 | 1 | 0.24999999928 | 0.24999999928 | 0.24999999928 | 0.24999999928 |
13638 | 490 | 0.0153345765378 | 1 | 0.0153345765378 | 0.0153345765378 | 0.0306691530756 | 8.8718826075886 |
13638 | 493 | 0.0153345765378 | 2 | 0.0306691530756 | 0.0306691530756 | 0.0306691530756 | 8.8565480310508 |
13638 | 363 | 0.0153345765378 | 3 | 0.0460037296134 | 0.0306691530756 | 0.0306691530756 | 8.841213454513 |
13638 | 325 | 0.0153345765378 | 4 | 0.0613383061512 | 0.0306691530756 | 0.0306691530756 | 8.8258788779752 |
13638 | 5657 | 0.0153345765378 | 5 | 0.076672882689 | 0.0306691530756 | 0.053312244612300004 | 8.8105443014374 |
13638 | 340 | 0.0379776680745 | 6 | 0.1146505507635 | 0.053312244612300004 | 0.1149007449976 | 8.7952097248996 |
13638 | 561 | 0.0769230769231 | 7 | 0.19157362768660002 | 0.1149007449976 | 0.1538461538462 | 8.7572320568251 |
13638 | 472 | 0.0769230769231 | 8 | 0.26849670460970004 | 0.1538461538462 | 0.1538461538462 | 8.680308979902 |
13638 | 562 | 0.0769230769231 | 9 | 0.34541978153280006 | 0.1538461538462 | 0.1538461538462 | 8.6033859029789 |
13638 | 361 | 0.0769230769231 | 10 | 0.4223428584559001 | 0.1538461538462 | 0.1697977199368 | 8.5264628260558 |
13638 | 431 | 0.0928746430137 | 11 | 0.5152175014696001 | 0.1697977199368 | 0.1857492860274 | 8.449539749132699 |
13638 | 510 | 0.0928746430137 | 12 | 0.6080921444833001 | 0.1857492860274 | 0.21813365975940002 | 8.356665106119 |
13638 | 316 | 0.1252590167457 | 13 | 0.733351161229 | 0.21813365975940002 | 0.2584700891324 | 8.2637904631053 |
13638 | 521 | 0.1332110723867 | 14 | 0.8665622336157 | 0.2584700891324 | 0.273371808999 | 8.1385314463596 |
13638 | 394 | 0.1401607366123 | 15 | 1.006722970228 | 0.273371808999 | 0.29136279587799996 | 8.0053203739729 |
13638 | 303 | 0.1512020592657 | 16 | 1.1579250294937 | 0.29136279587799996 | 0.3043264157554 | 7.8651596373606 |
13638 | 314 | 0.1531243564897 | 17 | 1.3110493859834 | 0.3043264157554 | 0.3455651679632 | 7.713957578094901 |
13638 | 401 | 0.1924408114735 | 18 | 1.5034901974569 | 0.3455651679632 | 0.4623088594713 | 7.5608332216052005 |
13638 | 300 | 0.2698680479978 | 19 | 1.7733582454546999 | 0.4623088594713 | 0.6112132817652001 | 7.368392410131699 |
13638 | 299 | 0.3413452337674 | 20 | 2.1147034792221 | 0.6112132817652001 | 0.7498798837337 | 7.098524362133899 |
13638 | 304 | 0.4085346499663 | 21 | 2.5232381291883996 | 0.7498798837337 | 0.8382105577517001 | 6.7571791283665 |
13638 | 308 | 0.4296759077854 | 22 | 2.9529140369738 | 0.8382105577517001 | 0.8846762522578 | 6.3486444784002 |
13638 | 301 | 0.4550003444724 | 23 | 3.4079143814462 | 0.8846762522578 | 0.9186182394169 | 5.918968570614799 |
13638 | 556 | 0.4636178949445 | 24 | 3.8715322763907 | 0.9186182394169 | 0.959736255427 | 5.4639682261424 |
13638 | 488 | 0.4961183604825 | 25 | 4.3676506368732 | 0.959736255427 | 0.9952097626912 | 5.0003503311979 |
13638 | 294 | 0.4990914022087 | 26 | 4.8667420390819 | 0.9952097626912 | 1.3424478401653 | 4.5042319707154 |
13638 | 318 | 0.8433564379566 | 27 | 5.7100984770385 | 1.3424478401653 | 1.690664123752 | 4.0051405685067 |
13638 | 295 | 0.8473076857954 | 28 | 6.5574061628338995 | 1.690664123752 | 3.1617841305501 | 3.1617841305501 |
13638 | 302 | 2.3144764447547 | 29 | 8.8718826075886 | 3.1617841305501 | 2.3144764447547 | 2.3144764447547 |
16530 | 314 | 0.0833333330933 | 1 | 0.0833333330933 | 0.0833333330933 | 0.1666666661866 | 1.6825354114854 |
16530 | 318 | 0.0833333330933 | 2 | 0.1666666661866 | 0.1666666661866 | 0.23571003949270003 | 1.5992020783921002 |
16530 | 493 | 0.1523767063994 | 3 | 0.319043372586 | 0.23571003949270003 | 0.3047534127988 | 1.5158687452988 |
16530 | 303 | 0.1523767063994 | 4 | 0.47142007898540006 | 0.3047534127988 | 0.3381259921594 | 1.3634920388994 |
16530 | 325 | 0.18574928576 | 5 | 0.6571693647454 | 0.3381259921594 | 0.37149857152 | 1.2111153325 |
16530 | 489 | 0.18574928576 | 6 | 0.8429186505054 | 0.37149857152 | 1.02536604674 | 1.02536604674 |
16530 | 324 | 0.83961676098 | 7 | 1.6825354114854 | 1.02536604674 | 0.83961676098 | 0.83961676098 |
注:其他Hive相关系列文章链接由此进 -> Hive文章汇总
Hive(20):Hive的函数之窗口函数相关推荐
- Hive常用函数介绍(窗口函数)
1.窗口函数介绍 窗口函数,也叫也叫OLAP函数(Online Anallytical Processing,联机分析处理),可对数据库数据进行实时分析处理. 2.窗口函数入门 2.1 函数说明 窗口 ...
- Hive、Hadoop完全分布式安装,基本SQL,基本SQL,基本表结构,数据类型,函数,窗口函数,jion,查询和排序,beeline,文件格式及基本架构汇总
目录 Hive简介 一.概述 二.Hive和数据库的比较 三.特点 Hadoop完全分布式安装 一.配置 二.安装步骤 Hive安装 一.概述 二.安装步骤 其他 一.Hive运行日志 二.Hive的 ...
- Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)
1.函数 1.1 函数简介 Hive会将常用的逻辑封装成函数给用户进行使用,类似java中的函数. 好处:避免用户反复写逻辑,可以直接拿来使用 重点:用户需要知道函数叫什么,能做什么 Hive提供了大 ...
- Hive第六天——Hive函数(开窗函数之累计统计)
本文部分参考自:https://blog.csdn.net/qq_23897391/article/details/100558433 Hive第六天--Hive函数 自己的话:千里之行,始于足下. ...
- 2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转换、行转列)
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的内置函数 一.数学函数 1. 取整函数: round ...
- [Hive_6] Hive 的内置函数应用
0. 说明 Hive 的内置函数的基本操作 | 时间函数 | String 函数 | 条件语句 | explode | split | substring 1. 基本操作 查看函数 show func ...
- 深入浅出学Hive:Hive内建操作符与函数开发
目录: 初始Hive Hive安装与配置 Hive内建操作符与函数开发 Hive JDBC Hive参数 Hive高级编程 Hive QL Hive Shell基本操作 Hive优化 Hive体系结构 ...
- hive获取月份_【Hive】Hive中常用日期函数整理
前言 使用hive进行时间处理的过程中,有时忘记一些常用的函数用法,现整理一下hive中常用日期函数,当做备忘录使用,忘记来翻阅一下. 1 时间戳转化日期函数 时间戳必须是10位,默认情况下转化为'y ...
- Hive SQL操作与函数自定义(二)
9 Operators and UDFs 9.1 内置运算符 9.1.1 关系运算符 操作符 运算对象的类型 描述 A <=> B ALL 都是NULL时,返回TRUE,有一为NULL时, ...
- 【Hive】hive函数
文章目录 hive函数 hive内置函数 1. 查看内置函数 2. 测试内置函数快捷方式 3. 内置函数列表 3.1 关系运算: 3.2 数学运算: 3.3 逻辑运算: 3.4 复合类型构造函数 3. ...
最新文章
- 关于API文档浏览神器Dash
- 高危Windows 0day漏洞:看一眼就中毒
- JEE6 CDI 扩展实现 MVC (四) 实现多模板引擎支持,并提供扩展接口
- Docker容器通过独立IP暴露给局域网的方法
- 《剑指offer》-- 二叉树的下一个结点、对称二叉树、按之字性顺序打印二叉树、把二叉树打印成多行
- Problem C: 01字串
- IPv6与IPv4比较
- Linux之解决终端关闭,程序停止运行问题
- 一次redis集群连接数占满问题的排查
- 模板设计模式_23种设计模式之模板设计模式
- 低俗文章之傻傻分不清楚的IC和ID卡(手稿)
- ubuntu20.04安装交叉编译工具链流程
- html相册 自动,ACDSee的HTML相册生成
- 【每日随笔】飞书云文档使用 ( 注册飞书云文档账号 | 创建云文档 | 分享云文档 )
- 火车头免登录php代码,福利|火车采集器免登陆发布接口集合
- jar error in opening zip file
- 安装域、对域进行管理
- Hexo添加Live2D看板娘最新教程
- A `Concatenate` layer requires inputs with matching shapes except for the concat axis.
- Ant Design Pro V4下载运行
热门文章
- nvme协议 sata接口_nvme和sata协议游戏测评
- SATA协议OOB随笔
- 电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)
- Hank的无线802.11学习笔记--2
- 手动安装Python库或安装第三方库的方法
- 有回路的有穷自动机转化为正规式的方法
- tx2+opencv源码编译教程(tx2+opencv4.4.0+opencv_contrib-4.4.0)
- 金仓数据库 KingbaseES SQL 语言参考手册 (11. SQL语句:ABORT 到 ALTER INDEX)
- 修复typec otg数据线
- 概念区别 【编译型语言与解释型语言、动态类型语言与静态类型语言、强类型语言与弱类型语言】