我有一个名为边缘的数据框,如下所示:
+------+------+-------------------+
| src| dst| mean_affinity|
+------+------+-------------------+
| [78]| [81]| 0.78547141736462|
| [98]| [102]| 0.8051602291309927|
|[2540]|[3195]| 0.7734367678994718|
| [1]|[1367]|0.37372281429944215|
| [182]|[1602]| 0.3915882096267663|
| [1]| [77]| 0.6999457255005836|
| [55]| [78]| 0.4411667943000793|
+------+------+-------------------+
我不想在 src 和 dst 列中重复任何内容。例如 78 是第一行的 src,所以它不能作为最后一行的 dst。换句话说,任何一个顶点在表格中只能出现一个。
该表也应按 mean_affinity 排序。我开始为此编写查询,但它似乎不起作用:
sqlContext.sql("""select e.src, e.dst, e.mean_affinity
from edges e
where not exists
(select src from edges where src = e.dst)""").show()
这是堆栈跟踪的一部分:
An error occurred while calling o111.sql.
: java.lang.RuntimeException: [3.46] failure: ``)'' expected but identifier src found
where not exists (select src from edges where src = e.dst)
^
at scala.sys.package$.error(package.scala:27)
谢谢!