Apache spark 如何在ApacheSpark中动态地将参数传递给filter函数?

Apache spark 如何在ApacheSpark中动态地将参数传递给filter函数?,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我有一份员工档案,其数据如下: Name: Age: David 25 Jag 32 Paul 33 Sam 18 我将其加载到Apache Spark中的dataframe中,并对值进行过滤,如下所示: Name: Age: David 25 Jag 32 Paul 33 Sam 18 employee_rdd=sc.textFileemployee.txt employee_df=employee_rdd.toDF employ

我有一份员工档案,其数据如下:

Name:   Age:
David   25
Jag     32
Paul    33
Sam     18
我将其加载到Apache Spark中的dataframe中,并对值进行过滤,如下所示:

Name:   Age:
David   25
Jag     32
Paul    33
Sam     18
employee_rdd=sc.textFileemployee.txt employee_df=employee_rdd.toDF employee\u data=employee\u df.filterName='David'。收集 +---------+----+ |姓名:|年龄:| +---------+----+ |大卫| 25| +---------+----+ 但当我尝试这样做时:

emp_Name='Sam'并将此名称传递给过滤器,如下所示:

employee_data = employee_df.filter("Name = 'emp_Name'").collect

但这给了我一个空列表。

这可以在scala中完成,您可以将其更改为python

val emp_name = "Sam"

val employee_data = employee_df.filter(col("Name") === emp_name)

希望这有帮助

这可以在scala中完成,您可以将其更改为python

val emp_name = "Sam"

val employee_data = employee_df.filter(col("Name") === emp_name)
希望这有帮助

尝试以下操作:

emp_Name='Sam'
employee_data = employee_df.filter(employee_df["Name"] == emp_Name).collect()
请尝试以下操作:

emp_Name='Sam'
employee_data = employee_df.filter(employee_df["Name"] == emp_Name).collect()

相关答案:相关答案已在以下链接中解释:@Mohan Kumar Kannan这不起作用。你能用where子句的例子来说明这里的相关答案吗:相关答案已经在下面的链接中解释:@Mohan Kumar Kannan这不起作用。问题是关于如何在过滤条件中使用变量。问题是关于如何在过滤条件中使用变量。