【问题标题】:How to write a function that runs certain SQL on certain columns in a PySpark dataframe?如何编写一个在 PySpark 数据框中的某些列上运行某些 SQL 的函数?
【发布时间】:2022-07-13 21:22:28
【问题描述】:

我写了一些代码并将其作为输出。左侧基本上是我正在使用的数据框的列,右侧是需要在该特定列上运行的 SQL 查询。

现在我想编写一个函数,在左侧的列上运行右侧的查询并显示输出。

第一张图基本上是另一个数据框的“Column”和“Query”列的值。我使用 .collect() 方法来检索这些值。

这似乎是一个简单的问题,但我仍然坚持。知道怎么做吗?

【问题讨论】:

    标签: python apache-spark pyspark apache-spark-sql


    【解决方案1】:

    您可以将列名和查询放入字典:

    dct = {'column_name': 'SELECT * FROM table WHERE {col} IS NULL'}
    
    for k, v in dct.items():
        q = v.format(col = k)
        # spark.sql(q)
        print(q)
    

    输出:

    SELECT * FROM table WHERE column_name IS NULL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      相关资源
      最近更新 更多