Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
关于scala中spark数据帧用法的澄清_Scala_Apache Spark_Apache Spark Sql - Fatal编程技术网

关于scala中spark数据帧用法的澄清

关于scala中spark数据帧用法的澄清,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我有3个数据帧'u','join5'和site 这是数据帧“u”的模式 scala> println(u.printSchema) root |-- split_sk: integer (nullable = true) |-- new_date: string (nullable = true) 现在通过连接“join5”和“site”数据帧创建join6。以下是我的两个问题- 以下查询中的“usplit_sk”是什么?当查询中未明确给出与“u”的联接时,是否可以使用数据帧“u”的

我有3个数据帧'u','join5'和site

这是数据帧“u”的模式

scala> println(u.printSchema)
root
 |-- split_sk: integer (nullable = true)
 |-- new_date: string (nullable = true)
现在通过连接“join5”和“site”数据帧创建join6。以下是我的两个问题-

以下查询中的“usplit_sk”是什么?当查询中未明确给出与“u”的联接时,是否可以使用数据帧“u”的列进行随机比较

在scala中,特别是在下面的查询中,什么符号表示to

关于问题1

是的,split_sk是u中的列。这类似于SQL,a.column1=b.column2。这是一种与上述相同的指定方式

要回答另一个问题,可以指定查询中不存在的数据帧的某个列。最有可能的情况是join5 dataframe是在join5之上创建的

关于问题2

称为空安全连接。
请参阅此

谢谢。它在下面做什么?下面查询中的这个新的_日期是哪个数据帧的-u/join5/site?我希望它是有用的。val join6=join5.joinsite,usplit_sk site split_key和$new_date>=$effective_dt和$new_date更新了我的评论。它就像一个条件连接,就像split_sk等于split_key时的连接,其他关于日期的条件都满足,那么从哪个数据帧开始的日期和哪个数据帧?u/join5/site数据帧的新加入日期与哪个数据帧的生效日期?数据帧'u'在这两者之间跳来跳去,给我造成了混乱。然而,我认为日期的比较是在join5和SiteDataFrames之间进行的。请确认。为所有数据帧提供printSchema
val join6 = join5.join(site, u("split_sk") <=> site("split_key") &&($"new_date" >= $"effective_dt") && ($"new_date" <=  $"expiry_dt"),"left")