我有一个名为edges的数据框,如下所示:
+------+------+-------------------+
| 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()
这是stacktrace的一部分:
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)
谢谢!