《SQL高级应用和数据仓库基础(MySQL版)》作业 ·007

问题描述

1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。

2.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的年薪所得
(不考虑奖金部分,年薪的试用期6个月的月薪+转正后6个月的月薪)

3.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖金部分),
要求显示列标题为员工姓名,工资收入,奖金收入,总收入。

参考解答

首先根据这微博主的这篇博客中的SQL语句给MySQL导入了emp表:https://blog.csdn.net/guchunchao/article/details/82806143

以下是上面问题的参考解答SQL语句:

-- 1、转正员工的工资
select ename 员工姓名, sal*1.2 转正后工资 from emp;

-- 2、所有员工第一年的年薪(不带奖金)
select ename 员工姓名, sal*2.2*6 总收入(不带奖金) from emp;

-- 3、所有员工第一年的年薪(带奖金)
select
	ename 员工姓名,
	sal*2.2*6 工资收入,
	ifnull(comm, 0) 奖金收入,
	sal*2.2*6 + ifnull(comm, 0) 总收入
from emp;

查询结果:

  • 结果1
    res1
  • 结果2
    res2
  • 结果3
    res3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Spark SQL可以通过JDBC连接操作MySQL数据库,也可以通过HiveContext连接操作Hive数据仓库。对于MySQL数据库,需要先将MySQL的JDBC驱动包添加到Spark的classpath中,然后使用SparkSession的read和write方法读写MySQL表。对于Hive数据仓库,需要先启动Hive服务,并将Hive的JDBC驱动包添加到Spark的classpath中,然后使用HiveContext的sql方法执行HiveQL语句。 ### 回答2: Spark SQL 是 Spark 的一个子模块,它支持对结构化数据进行处理和分析,同时 Spark SQL 可以与多种数据源进行集成和交互,其中包括 MySQL 数据库和 Hive 数据仓库。 Spark SQL 操作 MySQL 数据库的实现方式通常是通过 JDBC 驱动来实现的。首先需要在 Spark 的配置文件中添加 MySQL 驱动的相关配置信息,同时也需要将 MySQL 驱动的 JAR 包添加到 Spark 的 Classpath 中,然后就可以使用 Spark SQL 的数据源 API 将 MySQL 数据库中的数据载入到 Spark 的 DataFrame 中进行处理和分析了。 Spark SQL 操作 Hive 数据仓库的实现方式也较为简单,因为 Spark 提供了对 Hive 的原生支持,可以直接将 Hive 表作为 Spark SQL 的数据源进行处理和分析。在使用 Spark SQL 操作 Hive 数据仓库时,需要在 Spark 的配置文件中添加 Hive 的相关配置信息,同时也需要将 Hive 的 JAR 包添加到 Spark 的 Classpath 中,然后就可以在 Spark SQL 中使用 Hive 数据源 API 从 Hive 数据仓库中读取数据进行分析和处理。 总的来说,Spark SQL 操作 MySQL 和 Hive 数据仓库都比较方便,只需要配置好相关的驱动和参数,就可以像处理普通数据文件一样对这些数据进行查询和转换。此外,Spark SQL 还支持多种数据源的交互,包括 JSON,CSV,Parquet,Avro 和 ORC 等格式的数据文件。Spark SQL 的数据源兼容性很好,可以方便地与多种数据源进行集成使用,为分布式数据处理和分析带来更多的便利和灵活性。 ### 回答3: Spark SQL是以SQL语言为基础的Apache Spark模块。它支持从多种数据源中读取数据,进行数据操作和数据分析。其中,MySQL数据库和Hive数据仓库都是比较常见的数据源之一。下面就分别介绍一下Spark SQL操作MySQL和Hive的方法和步骤。 1. Spark SQL操作MySQL数据库 步骤一:导入MySQL的JDBC driver Spark SQL需要使用MySQL JDBC driver来操作MySQL数据库,因此需要先将其导入到Spark代码中。可以在maven中央仓库中找到适合本的MySQL JDBC driver,然后将其添加到项目中。 步骤二:连接MySQL数据库 在Spark SQL中,一般通过jdbc的方式来连接MySQL数据库。需要提供MySQL服务的IP地址和端口,数据库名称以及登录MySQL的用户名和密码。连接MySQL数据库的代码示例: ``` val jdbcDF = spark.read .format("jdbc") .option("url", "jdbc:mysql://mysqlip:3306/test") .option("dbtable", "userinfo") .option("user", "root") .option("password", "root") .load() ``` 上述代码中,将MySQL的IP地址和端口、数据库名称、表名、用户名和密码等信息封装在.option()中。 步骤三:操作MySQL数据库 连接成功后,即可对MySQL数据库进行操作。Spark SQL操作MySQL的方式与操作DataFrame或SQL类似。例如: ``` jdbcDF.show() ``` 上述代码中,使用.show()方法来展示加载到DataFrame中的MySQL表的数据。 2. Spark SQL操作Hive数据仓库 步骤一:配置Hive Support 为了让Spark SQL支持Hive,需要在构建Spark时开启Hive Support。可以在Spark官网(https://spark.apache.org/downloads.html)下载已经包含了Hive Support的Spark压缩包,或者自行下载源码进行编译。 步骤二:连接Hive数据仓库 连接Hive数据仓库需要使用Hive JDBC driver。可以从Apache官网(https://hive.apache.org/downloads.html)下载Hive JDBC driver并添加到项目。 连接Hive数据仓库的代码示例: ``` val spark = SparkSession.builder() .appName("SparkHive") .master("local") .enableHiveSupport() .getOrCreate() ``` 上述代码中,通过.enableHiveSupport()方法开启Spark SQL支持Hive。创建完SparkSession后,即可连接Hive数据库。 步骤三:操作Hive数据库 连接成功后,即可在Spark SQL中操作Hive数据库。Spark SQL通过HiveQL来操作Hive数据库,与操作SQL语句类似。例如: ``` spark.sql("SELECT * FROM testdb.userinfo").show() ``` 上述代码中,使用sql()方法来执行SELECT语句,并展示结果。 综上,Spark SQL可以操作MySQL和Hive等多种数据源。操作MySQL需要导入MySQL JDBC driver,并通过jdbc连接MySQL数据库;操作Hive需要在构建Spark时开启Hive Support,并导入Hive JDBC driver。操作数据库的代码与Spark SQL操作DataFrame和SQL基本一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

God-Excious

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值