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这不起作用。问题是关于如何在过滤条件中使用变量。问题是关于如何在过滤条件中使用变量。