如何将 sql 查询转换为 Pandas Dataframe 和 PySpark Dataframe

Posted

技术标签:

【中文标题】如何将 sql 查询转换为 Pandas Dataframe 和 PySpark Dataframe【英文标题】:How to convert a sql query to Pandas Dataframe and PySpark Dataframe 【发布时间】:2020-04-22 09:12:53 【问题描述】:
SELECT county, state, deaths, cases, count (*) as count 
FROM table 
GROUP BY county, state, deaths, cases 
HAVING count(*)>1

我通过 SQL 从上述查询中得到以下数据。我想要的是在两者中转换这个 SQL 查询

熊猫

PySpark

请告诉我,因为我是 Pandas 和 PySpark 的新手

注意 - 我不想使用spark.sql,而是想使用spark.table 从表格中读取数据并执行上述操作。

【问题讨论】:

【参考方案1】:

会是这样的:

df = (spark
     .table("table_name")
     .groupBy(["county", "state", "deaths", "cases"]) 
     .agg(F.count("*").alias("count_rows"))
     .filter("count_rows > 1")
     )

此外,您正在从事的项目似乎与此处详细说明的项目相似。你应该看看 - https://www.youtube.com/watch?v=fsLQRmednFA&list=PLI57HEydB_p7ICY54CyPtaITuanVZLKTr

【讨论】:

以上是关于如何将 sql 查询转换为 Pandas Dataframe 和 PySpark Dataframe的主要内容,如果未能解决你的问题,请参考以下文章

pandas.read_sql_query() 如何查询 TEMP 表?

试图找到将 SQL Query 转换为具有大量记录的 Pandas DataFrame 的最有效方法

如何将 scala spark.sql.dataFrame 转换为 Pandas 数据框

如何使 pandas.read_sql() 不将所有标题转换为小写

如何将字典转换为 Pandas df?

如何将 timedelta 转换为 pandas 中的时间?