连接Spark数据帧时使用过滤条件:Spark/Scala
有人能建议我在spark scala中加入2个数据帧时如何使用过滤器吗?我正在尝试下面的代码连接Spark数据帧时使用过滤条件:Spark/Scala,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,有人能建议我在spark scala中加入2个数据帧时如何使用过滤器吗?我正在尝试下面的代码 var name="abcd" var last_name="xyz" val df3 = df1.join(df2, df1("id") === df2("id")) .filter(df1("name")==='${name}'). filter(df1("last_name")==='${last_name}') .drop(df1("name")
var name="abcd"
var last_name="xyz"
val df3 = df1.join(df2, df1("id") === df2("id"))
.filter(df1("name")==='${name}').
filter(df1("last_name")==='${last_name}')
.drop(df1("name"))
.drop(df2("name"))
但是得到多重错误
Spark不像java的JDBCAPI,我们需要用单引号包装字符串以表示where条件。 您可以简单地尝试使用
name
变量而不使用任何引号和$sign吗
var name="abcd"
var last_name="xyz"
val df3 = df1.join(df2, df1("id") === df2("id"))
.filter(df1("name")===name && df1("last_name")===last_name)
.drop(df1("name"))
.drop(df2("name"))
Spark不像java的JDBCAPI,在java中,我们需要用单引号包装字符串以表示where条件。 您可以简单地尝试使用
name
变量而不使用任何引号和$sign吗
var name="abcd"
var last_name="xyz"
val df3 = df1.join(df2, df1("id") === df2("id"))
.filter(df1("name")===name && df1("last_name")===last_name)
.drop(df1("name"))
.drop(df2("name"))
是,它用于添加多个筛选条件我需要使用多个筛选还是可以使用&&?请使用
&&
用于多个筛选是,它用于添加多个筛选条件我需要使用多个筛选还是可以使用&&?请使用&
用于多个筛选