pyspark入门系列 - 07 pyspark.sql.GroupedData函数汇总

本节来学习pyspark.sql中的Grouped_Data类型的函数。博客中代码基于spark 2.4.4版本。不同版本函数会有不同,详细请参考官方文档。博客案例中用到的数据可以点击此处下载(提取码:h6gg)

GroupedData(jgd,df)

是由DataFrame.groupBy()创建的一组在DataFrame上聚合的方法
在这里插入图片描述

from pyspark.sql import SparkSession
import pyspark.sql.types as typ

spark = SparkSession.Builder().master('local').appName('GroupedData').getOrCreate()
input_types = [('Opponent', typ.StringType()),
               ('WinOrLose', typ.StringType()),
               ('HomeAndAway', typ.StringType()),
               ('Hit', typ.IntegerType()),
               ('Shots', typ.IntegerType()),
               ('FieldGoalPercentage', typ.FloatType()),
               ('3PointShooting', typ.FloatType()),
               ('Backboard', typ.IntegerType()),
               ('Assist', typ.IntegerType()),
               ('Score',</
### 如何在 PySpark 中使用 `mysql-connector-java-5.1.41-bin.jar` 为了使 PySpark 能够通过 JDBC 接口与 MySQL 数据库交互,需要确保正确配置并加载相应的 MySQL 驱动程序。具体操作如下: #### 添加 MySQL Connector JAR 文件 将 `mysql-connector-java-5.1.41-bin.jar` 放置在 Spark 的类路径中,通常可以通过两种方式实现这一点。 一种方法是在启动 PySpark Shell 或提交作业时指定额外的 JAR 包路径。这可以借助于 `--jars` 参数完成[^1]。 另一种方案是直接把该 jar 文件复制到 Spark 安装目录下的 jars 子文件夹里[^2]。 ```bash spark-submit --jars /path/to/mysql-connector-java-5.1.41-bin.jar your_script.py ``` 或者如果已经放置到了 `$SPARK_HOME/jars/` 下,则无需再单独传递参数。 #### 编写 Python 代码读取数据 一旦完成了上述设置,在编写 PySpark 应用程序来访问 MySQL 表的时候就可以利用 DataFrame API 来简化工作流程了。下面是一个简单的例子展示怎样从名为 `stu2` 的表中获取记录[^3]。 ```python from pyspark.sql import SparkSession # 创建一个新的 Spark session 实例 spark = (SparkSession.builder.appName("MySQLtoDF") .config("spark.jars", "/path/to/mysql-connector-java-5.1.41-bin.jar") # 如果未全局添加jar则在此处指明路径 .getOrCreate()) db_url="jdbc:mysql://localhost:3306/test_db" table_name="stu2" username="root" password="your_password" df = spark.read.format('jdbc').options( url=db_url, dbtable=table_name, user=username, password=password).load() df.show() ``` 此段脚本会建立一个连接至本地运行着测试数据库实例上的 `test_db` 数据库,并从中检索出所有的学生信息存入 Dataframe 对象 df 当中最后打印出来显示前几条记录的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值