Spark RDD有类似的设置允许快速查找吗?

时间:2017-06-08 09:51:23

标签: apache-spark pyspark

我有一些由

等对组成的数据
data = [(3,7), (2,4), (7,3), ...]

这些对应于我想要构建的图表中的连接。我想只保留数据中包含反向对的对,每个只包含一个副本。例如,在上面的数据中,我想要[(3,7)],因为反向((7,3))也在数据中。

在Python中,我会做这样的事情:

pairs = set(data)
edges = [p for p in pairs if p[0] < p[1] and (p[1], p[0]) in pairs]

我可以在Spark上做类似的事吗?我能得到的最接近的是创建一个新的RDD,其中的对被反转,与原始数据相交,并根据被排序的对元素进行过滤,但这似乎效率低下。

1 个答案:

答案 0 :(得分:-1)

&lt; - language:python - &gt;

<header class="header">
  <div class="header__container">
    <div id="mySidenav" class="sidenav">
      <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
      <a href="#">About</a>
      <a href="#">Services</a>
      <a href="#">Clients</a>
      <a href="#">Contact</a>
    </div>

    <div id="main">
      <h2>Sidenav Push Example</h2>
      <p>Click on the element below to open the side navigation menu, and push this content to the right.</p>
      <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span>
    </div>
  </div>
</header>

<script>
  function openNav() {
    document.getElementById("mySidenav").style.width = "250px";
    // document.getElementById("body").style.marginLeft = "250px";
  }

  function closeNav() {
    document.getElementById("mySidenav").style.width = "0";
    // document.getElementById("body").style.marginLeft = "0";
  }
</script>

这也可以起作用