以下是一个示例代码,演示如何遍历数据框的每一行,并将其作为参数传递给Spark SQL查询:
from pyspark.sql import SparkSession
# 创建SparkSession对象
spark = SparkSession.builder.getOrCreate()
# 创建示例数据框
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
df = spark.createDataFrame(data, ["Name", "Age"])
# 定义一个函数,用于执行Spark SQL查询
def execute_sql_query(val):
query = f"SELECT * FROM table WHERE Name = '{val[0]}' AND Age = {val[1]}"
result = spark.sql(query)
result.show()
# 遍历数据框的每一行,并将其作为参数传递给execute_sql_query函数
for val in df.collect():
execute_sql_query(val)
在上述代码中,首先创建了一个SparkSession对象,然后创建了一个示例数据框df。然后定义了一个函数execute_sql_query,该函数接收一个参数val,执行一个Spark SQL查询,并显示查询结果。最后,使用collect()方法遍历数据框的每一行,并将每一行作为参数传递给execute_sql_query函数。