首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助在pyspark中的for循环中添加dataframe

需要帮助在pyspark中的for循环中添加dataframe
EN

Stack Overflow用户
提问于 2021-10-31 17:38:06
回答 1查看 79关注 0票数 0

我们在where子句中有需要应用于查询的条件列表

代码语言:javascript
复制
Conditions=[
  Condition-1
  Condition-2
  ...
  Condition-n
]

我们有这样的查询

代码语言:javascript
复制
for condition in Conditions:
    df = spark.sql("SELECT col1, col2 from table where" + condition)

但是我们想要一个包含所有条件结果的最终数据帧,如何做that...our要求是这样的。

EN

回答 1

Stack Overflow用户

发布于 2021-11-01 09:00:28

如果你的条件是多个AND,你可以加入它们。

示例:

代码语言:javascript
复制
from pyspark.sql import SparkSession

if __name__ == "__main__":
    spark = SparkSession.builder.getOrCreate()
    data = [
        {"a": 1, "b": 2, "c": 3},
        {"a": 3, "b": 3, "c": 7},
        {"a": 2, "b": 3, "c": 5},
    ]
    conditions = [
        "a > 2",
        "b < 4",
        "c > 5",
    ]
    df = spark.createDataFrame(data)
    df.createOrReplaceTempView("table")
    df = spark.sql("SELECT a, b from table where {}".format(" AND ".join(conditions)))
    df.show()

结果:

代码语言:javascript
复制
+---+---+                                                                       
|  a|  b|
+---+---+
|  3|  3|
+---+---+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69789052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档