0
我有Spark應用程序,它將數據插入到妖精的巨人中。但它會插入具有相同名稱的重複頂點。測試條件'如果不是結果':'不匹配,並且我在同一個會話中。如何防止泰坦產生具有相同屬性的重複記錄?
def savePartition(p):
print ('savePartition', p)
from goblin import element, properties
class Brand(element.Vertex):
name = properties.Property(properties.String)
import asyncio
loop = asyncio.get_event_loop()
from goblin.app import Goblin
app = loop.run_until_complete(Goblin.open(loop))
app.register(Brand)
async def go(app):
session = await app.session()
for i in p:
if i['brand']:
traversal = session.traversal(Brand)
result = await traversal.has(Brand.name, i['brand']).oneOrNone()
if not result: # TODO: Remove Duplicates
print(i)
brand = Brand()
brand.name = i['brand']
session.add(brand)
session.flush()
await app.close()
loop.run_until_complete(go(app))
rdd = rdd.foreachPartition(savePartition)
如何解決?非常感謝。
謝謝!我還有一個問題。如果我想要標籤唯一的名稱,如何實現? – softwarevamp
如果你問如何確保標籤是獨一無二的,那麼Titan無法幫助你。標籤並不意味着是唯一的。 Checkout [this](http://stackoverflow.com/a/36295205/1457059)回答更多信息。 –
我希望每個標籤的名稱都是唯一的。 – softwarevamp