小编Roh*_*ala的帖子

通过 Cypher 在 Neo4j 中不存在搜索

我的图表中人与人之间有一些关系。

我的数据(在下面生成脚本)

create (s:Person {name: "SUE"}) 
create(d:Person {name: "DAVID"}) 
create(j:Person {name: "JACK"}) 
create(m:Person {name: "MARY"}) 
create(js:Person {name: "JASON"}) 
create(b:Person {name: "BOB"}) 
create(a1:Adress {id:1}) 
create(a2:Adress {id:2}) 
create(a3:Adress {id:3}) 
create(a4:Adress {id:4}) 
create(a5:Adress {id:5}) 
merge (d)-[:MOTHER]->(s) 
merge(j)-[:MOTHER]->(s) 
merge(js)-[:MOTHER]->(m) 
merge(b)-[:MOTHER]->(m) 
merge(b)-[:CURRENT_ADRESS]->(a1) 
merge(js)-[:CURRENT_ADRESS]->(a2) 
merge(j)-[:CURRENT_ADRESS]->(a3) 
merge(s)-[:CURRENT_ADRESS]->(a4) 
merge(d)-[:CURRENT_ADRESS]->(a5)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明;

我可以得到和她的孩子一起生活的母亲:

MATCH (p:Person)-[:CURRENT_ADRESS]->(a:Adress)<-[:CURRENT_ADRESS]-(t), (t)-[:MOTHER]->(p)
return p.name,t.name

p.name  t.name
MARY    JASON
Run Code Online (Sandbox Code Playgroud)

但我想得到不和她的任何孩子一起生活的母亲。

我怎样才能在 Cyper 中做到这一点?

graph not-exists neo4j cypher

5
推荐指数
2
解决办法
5775
查看次数

在sqoop导出中,使用Avro表在RDBMS中定义架构

我正在使用SQOOP将数据从HDFS加载到mySQL,在该数据中,一条记录具有70多个字段,这使得在RDBMS中创建表时很难定义架构。

有没有一种方法可以使用AVRO表使用SQOOP在RDBMS中通过架构动态创建表?

还是有一些相同的工具?

sql hadoop hive avro sqoop

5
推荐指数
1
解决办法
412
查看次数

将Map中的Map(key,Set [value])附加到Scala 2.11中的现有Key

我试图将新值附加到现有键的Set(Values)上,但是它将替换现有值。

这是我的意见

val roads = Array(Array(0,1),Array(0,2),Array(1,2))
Run Code Online (Sandbox Code Playgroud)

预期产量:

Map(0 -> Set(1,2),1 -> Set(2))
Run Code Online (Sandbox Code Playgroud)

我的代码:

  val roads = Array(Array(0,1),Array(0,2),Array(1,2))
  var adjMatrix:Map[Int,Set[Int]] = Map()

  for(i <- 0 until roads.size; j <- 1 until roads(i).size){
    adjMatrix += (roads(i)(0) -> Set(roads(i)(j)))
  }
Run Code Online (Sandbox Code Playgroud)

当我做的时候

  adjMatrix.foreach(println)
Run Code Online (Sandbox Code Playgroud)

我得到以下结果,因为有两个键的名称为0,它替换了第0个索引处的(0,1)元素

(1,Set(2))
(0,Set(2))
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

5
推荐指数
1
解决办法
66
查看次数

Python 3.7 smtplib sendmail 仅发送给列表中的第一个收件人

我已经浏览了很多 SO 帖子和 smtplib 文档,一切似乎都是正确的,但邮件仅发送给列表中的第一个收件人

注意:我使用的是Python3.7,我也尝试过Python 2.6,在下面的情况下,邮件仅发送给接收器中的第一个收件人

下面是我的代码:

import smtplib
from email.mime.text import MIMEText


sender='from@domain.com'
receiver=['email1@domain.com', 'email2@domain.com', 'email3@domain.com']
msg = MIMEText("message")
msg['Subject'] = "Test Email"
msg['From'] = sender
msg['To'] = ",".join(receiver)

server = smtplib.SMTP("smtp.domain", 25)
sever.sendmail(sender, receiver, msg.as_string())
server.quit()
Run Code Online (Sandbox Code Playgroud)

python smtplib receiver python-3.7

4
推荐指数
1
解决办法
2791
查看次数

如何计算流数据集中数组字段中元素的数量(一个除外)?

我使用 Spark 2.1.0.cloudera1。

我在流数据帧中有一个数组,数组中的数据如下所示:

["Windows","Ubuntu","Ubuntu","Mac","Mac","Windows","Windows"]
Run Code Online (Sandbox Code Playgroud)

我需要这个数组的大小,不包括元素“Windows”,即

以下是我遵循的方法

WITH os_count AS(
SELECT  
    cluster_id,
    count(e) AS cnt
FROM systems
LATERAL VIEW EXPLODE(all_os) exploded as e
WHERE e <> 'Windows'
GROUP BY cluster_id)

SELECT
    a.cluster_id,
    a.memory,
    a.storage,
    c.cnt
FROM
    systems a
JOIN
    os_count c
ON(a.cluster_id = c.cluster_id)
Run Code Online (Sandbox Code Playgroud)

但是对于我的用例,我的查询中不能有 JOIN,因为 Spark 结构化流在 Spark 2.3 之前没有对 Join 的适当支持

我可以

SELECT SIZE(cluster.all_os) FROM systems
Run Code Online (Sandbox Code Playgroud)

这将返回 7,但我想用“Windows”过滤掉元素,而应该返回 4,不知道如何在不执行连接的情况下继续操作!

scala apache-spark spark-structured-streaming

2
推荐指数
1
解决办法
75
查看次数