GOOGLE ADS

Dienstag, 19. April 2022

Erstellen Sie ein AWS Neptune-Diagramm aus einer rohen CSV-Datei

Ich habe viele Tutorials zum Laden von CSV-Daten (Gremlin) im Format von Vertices und Edges in AWS Neptune gesehen. Aus vielen Gründen kann ich keine Scheitelpunkte und Kanten zum Laden von Daten erstellen. Stattdessen habe ich nur die rohe CSV-Datei, in der jede Zeile ein Datensatz ist (z. B. eine Person).

Wie kann ich Knoten und Beziehungen aus jeder Datensatzzeile aus der rohen CSV-Datei in Neptune über die Notebook-Oberfläche erstellen?


Lösung des Problems

Da Sie dies in den Notebooks erwähnt haben, werden die folgenden Beispiele alle in einem Jupyter-Notebook ausgeführt. Ich habe die von Ihnen erwähnten Datensätze nicht zur Hand, also erstellen wir einen einfachen in einer Notebook-Zelle mit.

%%bash
echo "code,city,region
AUS,Austin,US-TX
JFK,New York,US-NY" > test.csv

Wir können dann die openCypher-CREATE-Schritte für die Knoten generieren, die in dieser CSV-Datei enthalten sind, indem wir eine einfache Zelle wie die folgende verwenden:

import csv
with open('test.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile, escapechar="\\")
query = ""
for row in reader:
s = "CREATE (:Airport {"
for k in row:
s += f'{k}:"{row[k]}", '
s = s[:-2] + '})\n'
query += s
print(query)

Was nachgibt

CREATE (:Airport {code:"AUS", city:"Austin", region:"US-TX"})
CREATE (:Airport {code:"JFK", city:"New York", region:"US-NY"})

Schließlich lassen wir die Zellenmagie des Notebooks ocdiese Abfrage für uns ausführen

ipython = get_ipython()
magic = ipython.run_cell_magic
magic(magic_name = "oc", line='', cell=query)

Um zu überprüfen, ob die Abfrage funktioniert hat

%%oc
MATCH (a:Airport)
RETURN a.code, a.city

was zurückgibt:

 a.code a.city
1 AUS Austin
2 JFK New York

Es gibt viele Möglichkeiten, dies zu tun, aber dies ist eine einfache Möglichkeit, wenn Sie in den Notizbüchern bleiben möchten. Da Ihre Frage nicht viele Details oder ein Beispiel für das, was Sie bisher versucht haben, enthält, gibt Ihnen dies hoffentlich einige Hinweise.

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...