我有以下数据帧:
accumulated_results_df
|-- company_id: string (nullable = true)
|-- max_dd: string (nullable = true)
|-- min_dd: string (nullable = true)
|-- count: string (nullable = true)
|-- mean: string (nullable = true)
computed_df
|-- company_id: string (nullable = true)
|-- min_dd: date (nullable = true)
|-- max_dd: date (nullable = true)
|-- mean: double (nullable = true)
|-- count: long (nullable = false)
尝试使用spark-sql进行连接,如下所示
val resultDf = accumulated_results_df.as("a").join(computed_df.as("c"),
( $"a.company_id" === $"c.company_id" ) && ( $"c.min_dd" > $"a.max_dd" ), "left")
给出错误为:
org.apache.spark.sql.AnalysisException: Reference 'company_id' is ambiguous, could be: a.company_id, c.company_id.;
我在这里做错了什么,如何修复?
我已经修复了它,如下所示。
val resultDf = accumulated_results_df.join(computed_df.withColumnRenamed("company_id", "right_company_id").as("c"),
( accumulated_results_df("company_id" ) === $"c.right_company_id" && ( $"c.min_dd" > accumulated_results_df("max_dd") ) )
, "left")
应该使用coll函数正确引用别名数据框和列
val resultDf = (accumulated_results_df.as("a")
.join(
computed_df.as("c"),
(col("a.company_id") === col("c.company_id")) && (col("c.min_dd") > col("a.max_dd")),
"left"
)
问题内容: 我正在使用两个表从数据库中查询,并收到问题标题中描述的错误。在某些情况下,我需要查询的字段在表A中,而其他字段在表B中。我动态创建要搜索的列(可以在表A或表B中),而我的代码中的WHERE子句是导致错误。 是否有一种动态的方法来解决此问题,例如,如果列位于表B中,然后使用表B进行搜索,或者INNER JOIN是否应该解决此问题(当前不是) 表A 栏位:id 表B 栏位:id SQL代码
我在努力做一些简单而琐碎的事情--或者至少我认为。 我试图编写一个基类,可以由我旋转的每个微服务项目继承。这个基类的目的是测试从HTTP到SQL的连接性。在prod中没有启用它。 这是一个(更简单的)基类: 我希望把它用作:
我试图在Azure devops中创建一个发布管道来部署api。 当我试图授权部署阶段时,会出现以下错误。没有任何真正有助于解决的信息。任何建议都很感激。我是订阅的所有者。
我得到了一个错误:- 线程“main”java.lang.nosuchmethoderror:com.datastax.driver.core.queryoptions.setrefreshnodeintervalmillis(I)lcom/datastax/driver/core/queryoptions;**在com.datastax.spark.connector.cql.defaultCo
我已经在谷歌上搜索了4个多小时的stackoverflow来寻找我的问题的解决方案,阅读并试图了解正在发生的事情,但我没有遇到与我的问题相关的解决方案,所以抱歉,如果这听起来像是重复的,我会尽力解释到底发生了什么,这样我就可以深入了解C3P0的内部工作。 我有一个运行在Tomcat上的SpringMVC web应用程序,其中Hibernate、JPA和C3P0是我的池资源。重新加载页面时,应用程序
我用Spring靴。我创建了这两个方法: 当我尝试登录web应用程序时,我得到: java.lang.IllegalStateException:映射到HTTP路径“HTTP://localhost:8080/rest/user/bsmith”的处理程序方法不明确:{public com.zenar.dto.userappdto com.zenar.controller.usercontrolle