SQL
文章平均质量分 87
Hinomoto Oniko
这个作者很懒,什么都没留下…
展开
-
Hadoop知识点总结
Spark是一种通用的大数据处理框架,它提供了比MapReduce更高级的计算模型,如RDD和DataFrame,以及丰富的计算库,如MLlib和GraphX。使用Spark作为Hive的计算引擎可以实现内存级的计算,大大提高了查询速度,特别是对于迭代式的数据处理任务。每个队列都有固定的资源容量,当队列的资源没有被完全使用时,空余的资源可以被其他队列动态抢占。然而,由于它的计算模型相对固定,且每个任务都需要读写磁盘,因此在处理复杂查询和交互式查询时,性能可能不尽如人意。原创 2023-08-04 17:25:24 · 997 阅读 · 1 评论 -
知乎50道SQL题 分享
values ('01', '赵雷', '1990-01-01', '男');values ('03', '孙风', '1990-05-20', '男');values ('05', '周梅', '1991-12-01', '女');values ('06', '吴兰', '1992-03-01', '女');values ('07', '郑竹', '1989-07-01', '女');values ('08', '王菊', '1990-01-20', '女');原创 2023-06-13 21:59:59 · 1124 阅读 · 0 评论 -
黑马在线教育数仓实战9
请假的开始时间(请假表.begin_time) = 上课的开始时间(morning_begin_time |afternon_begin_time | evening_begin_time)课程表.class_date between 作息表.use_begin_date and 作息表.use_end_date。原创 2023-05-05 04:45:00 · 587 阅读 · 0 评论 -
黑马在线教育数仓实战8
学生出勤主题看板。原创 2023-04-29 08:15:00 · 1096 阅读 · 0 评论 -
黑马在线教育数仓实战7
hive.merge.mapfiles : 是否开启map端小文件合并 (适用于MR只有map没有reduce, map输出结果就是最终结果) hive.merge.mapredfiles : 是否开启reduce端小文件合并操作 hive.merge.size.per.task: 合并后输出文件的最大值 ,默认是128M hive.merge.smallfiles.avgsize: 判断输出各个文件平均大小, 当这个大小小于设置值, 认为出现了小文件问题,需要进行合并操作。思考: 小文件有什么影响呢?原创 2023-04-22 22:40:43 · 461 阅读 · 0 评论 -
黑马在线教育数仓实战6
6. 意向用户主题看板_增量流程。原创 2023-04-16 09:30:00 · 299 阅读 · 0 评论 -
黑马在线教育数仓实战5
5. 意向用户主题看板_全量流程。原创 2023-04-13 09:30:00 · 897 阅读 · 0 评论 -
黑马在线教育数仓实战4
思考: 在统计的过程中, 比如以年统计, 得到一个新的年的统计结果, 那么在DWS层表中是不是还有一个历史的结果呢?要求: 此脚本能够实现自动获取上一天的日期数据, 并且还支持采集指定日期下数据。将shell脚本配置到ooize中, 从而实现自动化调度。将shell脚本放置到ooize中,完成自动化调度操作。最后,将shell脚本配置到oozie (省略)将shell脚本设置到oozie中(省略) 只需要采集新增的这一天的数据即可。思考4: 如何编写shell脚本呢?原创 2023-04-06 17:59:01 · 532 阅读 · 0 评论 -
黑马在线教育数仓实战3
在进行数据统计分析的时候, 一般来说, 第一次统计分析都是全量统计分析 而后续的操作, 都是在结果基础上进行增量化统计操作。此错误是sqoop在运行导出的时候, 一旦执行MR后, 能够报出的唯一的错误: 标识导出失败。解决方案: 将mysql中的from_url字段的varchar长度改的更长一些即可。 目的: 从hive的DWS层将数据导出到mysql中对应目标表中。如何查看MR的日志呢? yarn: 用于资源的分配 (资源: 内存 CPU) 思考: 在创建表的时候, 需要考虑那些问题呢?原创 2023-03-30 10:00:00 · 716 阅读 · 0 评论 -
黑马在线教育数仓实战2
今日内容:教育项目数仓分层 (知道, 明确每一层的作用)数仓工具的相关的使用 (操作)2.1 HUE相关的使用 (操作HDFS HIVE,OOZIE)2.2 sqoop的基本使用操作访问咨询主题看板实操3.1 需求分析 (务必掌握 -- 最好能够自己分析的出来, 如果不行, 先理解掉)3.2 建模分析 (务必掌握 -- 最好能够自己分析的出来, 如果不行, 先理解掉)3.3 建模操作。原创 2023-03-27 09:30:00 · 730 阅读 · 0 评论 -
黑马在线教育数仓实战1
1. 教育项目的架构说明项目的架构:基于cloudera manager大数据统一管理平台, 在此平台之上构建大数据相关的软件(zookeeper,HDFS,YARN,HIVE,OOZIE,SQOOP,HUE...), 除此以外, 还使用FINEBI实现数据报表展示各个软件相关作用:zookeeper: 集群管理工具, 主要服务于hadoop高可用以及其他基于zookeeper管理的大数据软件HDFS: 主要负责最终数据的存储YARN: 主要提供资源的分配。原创 2023-03-23 22:07:23 · 854 阅读 · 3 评论 -
MySQL 13:MySQL优化
通过创建合适的索引,可以减少Filesort的出现,但在某些情况下,条件限制不能使Filesort消失,所以需要加快Filesort的排序操作。show processlist:该命令查看当前MySQL在进行的线程,包括线程的状态、是否锁表等,可以实时地查看 SQL 的执行情况,同时对一些锁表操作进行优化。第一种是通过对返回的数据进行排序,也就是通常所说的filesort排序,所有不直接通过索引返回排序结果的排序,都称为filesort排序。在所有的组中,id的值越大,优先级越高,越先执行。原创 2023-03-14 20:37:09 · 179 阅读 · 0 评论 -
MySQL 12:MySQL日志
如果是ROW,由于是对全表进行更新,也就是每一行记录都会发生变更,ROW 格式的日志中会记录每一行的数据变更。STATEMENT:该日志格式在日志文件中记录的都是SQL语句(statement),每一条对数据进行修改的SQL都会记录在日志文件中,通过Mysql提供的mysqlbinlog工具,可以清晰的查看到每条语句的文本。客户端的所有操作语句都记录在查询日志中,但二进制日志中不包含查询数据的SQL语句。默认情况下,查询日志记录是禁用的。MySQL 的日志分为错误日志、二进制日志、查询日志、慢查询日志。原创 2023-03-09 09:59:02 · 261 阅读 · 0 评论 -
MySQL 11:MySQL锁
另外MyISAM的读写锁调度是写优先的,这也是为什么MyISAM不适合作为面向写的表的存储引擎。独占锁(X):又称写锁,简称X锁,独占锁不能与其他锁共存。例如,如果一个事务获取了数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取了排他锁的事务可以读取和修改数据。与其他数据库相比,MySQL的锁机制比较简单,其最显着的特点是不同的存储引擎支持不同的锁机制。共享锁(S):又称读锁,简称S锁,共享锁是指多个事务可以对同一个数据共享一个锁,都可以访问该数据,但只能读,不能被修改。原创 2023-02-23 10:27:22 · 236 阅读 · 0 评论 -
MySQL 10:MySQL事务
事务用于管理 DDL、DML 和 DCL 操作,例如插入、更新和删除语句,这些语句默认是自动提交的。因此,如果要手动控制事务,就必须关闭MySQL的事务自动提交。在这个层次下,事务是串行和顺序执行的,可以避免脏读、不可重复读和幻读。可重复读(Repeatable read):即在读取数据时(事务启动),不再允许修改操作,可以避免脏读和不可重复读的发生,但会造成幻读。读已提交(Read committed):一个事务只有在另一个事务提交后才能读取数据,这样可以避免脏读导致不可重复读。原创 2023-02-19 16:00:17 · 438 阅读 · 0 评论 -
MySQL 9:MySQL存储引擎
数据库存储引擎是数据库的底层软件组织,数据库管理系统(DBMS)使用数据引擎来创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技术、锁定级别等。许多不同的数据库管理系统现在支持许多不同的数据引擎。用户可以根据不同的需求为数据表选择不同的存储引擎可以使用SHOW ENGINES命令查看MySQL的所有执行引擎。真正的数据还在MyISAM引擎的表中,但是可以直接查询、删除更新等操作。Memory:一种存储引擎,将所有数据存储在内存中,具有极高的插入、更新和查询效率。分布式应用程序的理想选择。原创 2023-02-18 01:30:00 · 606 阅读 · 0 评论 -
MySQL 8:MySQL索引
索引类似于一本书的目录。一般来说,索引本身也很大,不可能全部存储在内存中,所以索引往往以索引文件的形式存储在磁盘上。重复数据多的字段不应设为索引(比如性别,只有男和女,一般来说:重复的数据超过百分之15就不该建索引)。复合索引也叫组合索引,意思是我们在建索引的时候会用到多个字段,比如同时用身份证和手机号建索引。唯一索引类似于前面的普通索引,不同的是索引列的值必须是唯一的,但允许空值。普通索引:MySQL 中的基本索引类型,没有任何限制,允许在定义索引的列中插入重复值和空值,纯粹是为了更快的数据查询。原创 2023-02-16 01:00:00 · 1239 阅读 · 0 评论 -
MySQL 7:MySQL触发器
触发器和存储过程一样,是一个能够完成特定功能的SQL片段,存储在数据库服务器上,但是不需要调用触发器。在MySQL中,触发器的执行只能在执行插入、删除、更新操作时触发。假设触发器触发每次执行1s,insert table 500条数据,那么触发器需要触发500次。仅触发器的执行时间就需要500s,insert 500条数据加起来如果是1s的话,那么这个insert的效率就很低了。1. MySQL 中的触发器不能对该表进行插入、更新、删除操作,避免递归循环触发器。触发器定义在表上,附着在表上。原创 2023-02-14 15:35:21 · 752 阅读 · 0 评论 -
MySQL 6:MySQL存储过程、存储函数
也就是说,如果会话建立后没有手动更改会话变量和全局变量的值,那么所有这些变量的值都是相同的。全局变量和会话变量的区别在于全局变量的修改会影响整个服务器,而会话变量的修改只会影响当前会话(即当前数据库连接)。有些系统变量的值可以使用语句动态改变,但有些系统变量的值是只读的。in表示传入的参数,可以传入一个值或者一个变量,即使传入变量,变量的值也不会改变,可以在内部改变,只作用于函数范围内。inout 表示从外部传入的参数经过修改后可以返回的变量,既可以使用传入变量的值也可以修改变量的值(即使函数执行完)。原创 2023-02-13 22:39:44 · 518 阅读 · 1 评论 -
MySQL 5:MySQL视图
数据库中只存储了视图的定义,不存储视图中的数据。视图的作用为简化代码,将可重用的查询封装到视图中以实现可重用性,并使复杂的查询易于理解和使用。为了安全起见,如果一个表中有很多数据,而且有很多信息你不想让大家看到,这时候可以使用视图,比如:社保基金表,可以使用 视图只显示姓名、地址,不显示社保号和工资等不同用户可设置不同视图。某些视图是可更新的。对于可更新的视图,视图中的行与基表中的行之间必须存在一对一的关系。因为,在使用视图更新数据时,如果没有充分考虑视图中更新数据的局限性,可能会导致数据更新失败。原创 2023-02-13 17:04:17 · 379 阅读 · 0 评论 -
MySQL 4:MySQL函数
对窗口中的每条记录动态应用聚合函数(SUM()、AVG()、MAX()、MIN()、COUNT()),动态计算指定窗口内的各种聚合函数值。序号函数有三个:ROW_NUMBER()、RANK()、DENSE_RANK(),可以用来实现分组排序,并添加序号。在MySQL中,函数有很多,主要可以分为以下几类:聚合函数、数学函数、字符串函数、日期函数、控制流函数、窗口函数。用途:返回位于当前行的前n行(LAG(expr,n))或后n行(LEAD(expr,n))的expr的值。用途:返回窗口中第n个expr的值。原创 2023-02-11 16:44:08 · 397 阅读 · 0 评论 -
MySQL 3:MySQL数据库基本操作 DQL
主键不能包含空值,但外键中允许空值。ANY 表示指定列中的值必须大于子查询中的任意值,即必须大于子查询集合中的最小值。ALL可以与=、>、>=、原创 2023-02-11 16:01:39 · 616 阅读 · 0 评论 -
MySQL 2:MySQL约束
零填充约束(zerofill)指插入数据时,当字段的值长度小于定义的长度时,会在该值前面加上相应的0。主要分为主键约束(primary key,PK)、自增长约束(auto_increment)、非空约束(not null)、唯一性约束(unique)、默认约束(default)、零填充约束(zerofill)、外键约束(foreign key,FK)。自增长(auto increment)约束指在MySQL中,当主键定义为自增长时,主键的值不再需要用户输入数据,而是由数据库系统根据定义自动赋值。原创 2023-02-10 17:22:01 · 809 阅读 · 0 评论 -
MySQL 1:MySQL数据库基本操作 DDL、DML
数据定义语言(DDL,Data Definition Language),该语言部分包括以下内容:对数据库的常用操作、对表结构的常用操作、修改表结构。数据操作语言(DML,Data Manipulation Language),用于更新数据库中表中的数据记录。例:为student表添加一个新的字段为:系别 dept 类型为 varchar(20)建表就是建一个空表,指定表名,表有多少列,每列的名称是什么,每列存储的数据类型。5. 对表结构的常用操作-修改表结构格式。3. 对表结构的常用操作-创建表。原创 2023-02-10 10:39:46 · 321 阅读 · 0 评论