Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接Spark数据帧时使用过滤条件:Spark/Scala_Scala_Apache Spark_Apache Spark Sql - Fatal编程技术网

连接Spark数据帧时使用过滤条件:Spark/Scala

连接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")

有人能建议我在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"))
    .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"))

是,它用于添加多个筛选条件我需要使用多个筛选还是可以使用&&?请使用
&&
用于多个筛选是,它用于添加多个筛选条件我需要使用多个筛选还是可以使用&&?请使用
&
用于多个筛选