python使用spark实现求数据库中的各个专业的男生和女生以及总人数
时间: 2024-03-10 15:50:29 浏览: 56
首先,你需要使用PySpark连接到数据库,然后使用SQL语句从数据库中获取数据。假设你的数据库中有一个名为`students`的表,其中包含以下字段:
- `id`:学生ID
- `name`:学生姓名
- `major`:学生专业
- `gender`:学生性别
以下是实现的代码:
```python
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("gender_count").getOrCreate()
# 从数据库中读取数据
jdbc_url = "jdbc:mysql://localhost:3306/test"
connection_properties = {
"user": "root",
"password": "123456",
"driver": "com.mysql.jdbc.Driver"
}
students = spark.read.jdbc(url=jdbc_url, table="students", properties=connection_properties)
# 使用Spark SQL进行查询
students.createOrReplaceTempView("students_view")
result = spark.sql("""
SELECT major, gender, COUNT(*) AS count
FROM students_view
GROUP BY major, gender
""")
# 打印结果
result.show()
```
这个代码将会输出每个专业的男生和女生以及总人数。
阅读全文