0.开启SpringBoot

1.SpringBoot的由来

SpringBoot出现之前使用最多的还是SSM框架,但是SSM框架在开发之前还需要进行模板配置,如果Spring整合了第三方框架,还需要单独去编写xml文件,xml文件特别多的话在后期的维护特别不方便,成本提高,最关键的SSM工程的部署需要依赖第三方容器,从而导致工程部署很麻烦。现在Python、NodeJS的敏捷开发已经越来越流行,SSM框架已经很笨重,在此情况下SpringBoot由此而生。

2.SpringBoot的介绍

SpringBoot是由Pivotal团队研发的,并不是一门新技术,只是将以前用到的Spring、SpringMVC等框架整合在一起从而隐藏这些框架的整合细节,能够做到敏捷开发。

3.SpringBoot特点:

1)SpringBoot项目不需要模板化的配置,可以加快开发速度;
2)SpringBoot工程部署时,采用的jar包的方式,内部自动启动依赖的Tomcat容器,提供了多环境的配置;
3)在SpringBoot工程中需要使用到第三方框架的时候,只需要在配置文件中导入相应依赖的starter依赖包,就可以自动实现整合;
4)SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,还可以采用.java的文件去编写配置信息;
5)学习SpringBoot以后为后期学了SpringClound打下了好的基础。

注意:学习SpringBoot之前还是需要有SSM的基础,这样好学一点,所以建议学习之前先去了解一下SSM框架的知识

4.快速建一个SpringBoot项目(IDEA)

4.1 选择新建一个项目

在这里插入图片描述

4.2 选择jdk的版本号和初始化服务的地址

在这里插入图片描述

4.3 项目的描述

在这里插入图片描述

4.4 指定SpringBoot的版本和所需要的依赖

在这里插入图片描述
选择完成后,点击下一步,确定项目的安装位置,最后点击Finish完成项目的创建
在这里插入图片描述

5. 项目创建成功

项目目录如下图所示:

在这里插入图片描述

由于本次是一个Web项目,所以需要修改一下pom.xml里面的依赖
在这里插入图片描述

编写一个类运行起来

@RestController
public class TestController {
    @RequestMapping("/test")
    public String test(){
        return "hello 欢迎学习SpringBoot!";
    }
}

点击项目中的启动类
在这里插入图片描述

在浏览器汇中输入http://localhost:8080/test,出现如下页面说明第一个SpringBoot项目开发成功

在这里插入图片描述

小结

本次讲述的SpringBoot的由来以及如何创建一个SpringBoot项目,但是需要注意的是在创建maven项目的时候,要确定本地maven连接的中央仓库是国内的仓库,不然创建速度太慢了。
修改maven的中央仓库,参考该链接https://blog.youkuaiyun.com/LM_ZM0309/article/details/107448153
.

### Hive Join 使用方法及示例 #### 一、Hive Join 基本概念 Hive 提供了 SQL 类似的查询语言来处理和分析大规模的数据集,支持多种数据连接操作(Join)。这些操作允许用户从多个表中获取相关数据。理解 Hive Join 的原理与机制对于高效地进行数据分析和处理至关重要[^1]。 #### 二、Hive Join 类型及其语法结构 Hive 中常见的 Join 类型有 INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN 和 FULL OUTER JOIN。每种类型的 Join 都有不同的作用范围: - **INNER JOIN**: 返回两个表中共有的记录。 ```sql SELECT a.*, b.* FROM table_a a INNER JOIN table_b b ON a.id = b.id; ``` - **LEFT OUTER JOIN (左外连接)**: 返回左边表中的所有记录,如果右边表中有匹配,则返回匹配的记录;如果没有匹配,则结果为 NULL。 ```sql SELECT a.*, b.* FROM table_a a LEFT OUTER JOIN table_b b ON a.id = b.id; ``` - **RIGHT OUTER JOIN (右外连接)**: 返回右边表中的所有记录,如果左边表中有匹配,则返回匹配的记录;如果没有匹配,则结果为 NULL。 ```sql SELECT a.*, b.* FROM table_a a RIGHT OUTER JOIN table_b b ON a.id = b.id; ``` - **FULL OUTER JOIN (全外连接)**: 只要其中一个表存在匹配,就返回行。当某一边没有匹配时,另一边的结果会填充NULL。 ```sql SELECT a.*, b.* FROM table_a a FULL OUTER JOIN table_b b ON a.id = b.id; ``` 除了上述标准 Join 外,还有特殊的 Map-side Join 或者称为 MapJoin,在某些情况下可以显著提高性能。MapJoin 将较小的一方加载到内存中完成整个过程而不需要 Reduce 过程,从而加快速度[^2]。 ```sql -- 启用 mapjoin 并指定小表作为map端缓存 SET hive.auto.convert.join=true; SELECT /*+ MAPJOIN(small_table) */ big_table.key, small_table.value FROM big_table JOIN small_table ON big_table.key = small_table.key; ``` #### 三、实际应用案例 假设有一个订单表 `orders` 和客户信息表 `customers`, 我们可以通过以下方式查询每个客户的总消费金额: ```sql SELECT c.customer_name, SUM(o.amount) FROM orders o JOIN customers c ON o.customer_id = c.customer_id GROUP BY c.customer_name; ``` 此查询首先通过 customer_id 字段将两张表格相连,接着计算每位顾客所下的订单总额并按姓名汇总显示出来[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值