Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Neo4j - Importuj dane z pliku CSV za pomocą Cypher

Możesz importować dane z pliku CSV (wartości oddzielone przecinkami) do bazy danych Neo4j. Aby to zrobić, użyj LOAD CSV klauzula.

Możliwość załadowania plików CSV do Neo4j ułatwia importowanie danych z innego modelu bazy danych (na przykład relacyjnej bazy danych).

Dzięki Neo4j możesz ładować pliki CSV z lokalnego lub zdalnego adresu URL.

Aby uzyskać dostęp do pliku przechowywanego lokalnie (na serwerze bazy danych), użyj file:/// URL. W przeciwnym razie możesz importować pliki zdalne za pomocą dowolnego protokołu HTTPS, HTTP i FTP.

Załaduj plik CSV

Załadujmy plik CSV o nazwie genres.csv za pomocą protokołu HTTP. Nie jest to duży plik — zawiera listę 115 gatunków muzycznych, więc utworzy 115 węzłów (i 230 właściwości).

Ten plik jest przechowywany na Quackit.com, więc możesz uruchomić ten kod z przeglądarki Neo4j i powinien zostać zaimportowany bezpośrednio do Twojej bazy danych (zakładając, że masz połączenie z Internetem).

Możesz również pobrać plik tutaj:gatunek.csv

LOAD CSV FROM 'https://www.quackit.com/neo4j/tutorial/genres.csv' AS line
CREATE (:Genre { GenreId: line[0], Name: line[1]})

W razie potrzeby możesz pominąć niektóre pola z pliku CSV. Na przykład, jeśli nie chcesz importować pierwszego pola do bazy danych, możesz po prostu pominąć GenreId: line[0], z powyższego kodu.

Uruchomienie powyższej instrukcji powinno spowodować wyświetlenie następującego komunikatu o powodzeniu:

Możesz to zrobić za pomocą zapytania, aby zobaczyć nowo utworzone węzły:

MATCH (n:Genre) RETURN n

Co powinno spowodować rozproszenie węzłów wokół ramki wizualizacji danych:

Importuj plik CSV zawierający nagłówki

Poprzedni plik CSV nie zawierał żadnych nagłówków. Jeśli plik CSV zawiera nagłówki, możesz użyć WITH HEADERS .

Użycie tej metody umożliwia również odwołanie się do każdego pola poprzez nazwę kolumny/nagłówka.

Mamy kolejny plik CSV, tym razem z nagłówkami. Ten plik zawiera listę utworów z albumów.

Ponownie, ten plik nie jest duży — zawiera listę 32 ścieżek, więc utworzy 32 węzły (i 96 właściwości).

Ten plik jest również przechowywany na Quackit.com, więc możesz uruchomić ten kod z przeglądarki Neo4j i powinien zostać zaimportowany bezpośrednio do Twojej bazy danych (zakładając, że masz połączenie z Internetem).

Możesz również pobrać plik tutaj:tracks.csv

LOAD CSV WITH HEADERS FROM 'https://www.quackit.com/neo4j/tutorial/tracks.csv' AS line
CREATE (:Track { TrackId: line.Id, Name: line.Track, Length: line.Length})

Powinno to spowodować następujący komunikat o powodzeniu:

Następnie z zapytaniem, aby wyświetlić nowo utworzone węzły:

MATCH (n:Track) RETURN n

Co powinno skutkować nowymi węzłami rozrzuconymi po ramce wizualizacji danych.

Kliknij Wiersze ikonę, aby zobaczyć każdy węzeł i jego trzy właściwości:

Niestandardowy ogranicznik pola

W razie potrzeby możesz określić niestandardowy ogranicznik pola. Na przykład możesz podać średnik zamiast przecinka, jeśli tak jest sformatowany plik CSV.

Aby to zrobić, po prostu dodaj FIELDTERMINATOR klauzulę do oświadczenia. Tak:

LOAD CSV WITH HEADERS FROM 'https://www.quackit.com/neo4j/tutorial/tracks.csv' AS line FIELDTERMINATOR ';'
CREATE (:Track { TrackId: line.Id, Name: line.Track, Length: line.Length})

Importowanie dużych plików

Jeśli zamierzasz zaimportować plik z dużą ilością danych, PERODIC COMMIT klauzula może być przydatna.

Korzystanie z PERIODIC COMMIT instruuje Neo4j, aby zatwierdził dane po określonej liczbie wierszy. Zmniejsza to obciążenie pamięci związane ze stanem transakcji.

Wartość domyślna to 1000 wierszy, więc dane zostaną zatwierdzone co tysiąc wierszy.

Aby użyć PERIODIC COMMIT po prostu wstaw USING PERIODIC COMMIT na początku instrukcji (przed LOAD CSV )

Oto przykład:

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'https://www.quackit.com/neo4j/tutorial/tracks.csv' AS line
CREATE (:Track { TrackId: line.Id, Name: line.Track, Length: line.Length})

Ustawianie częstotliwości zobowiązań okresowych

Możesz także zmienić stawkę z domyślnego 1000 wierszy na inną liczbę. Po prostu dodaj numer po USING PERIODIC COMMIT :

Tak:

USING PERIODIC COMMIT 800
LOAD CSV WITH HEADERS FROM 'https://www.quackit.com/neo4j/tutorial/tracks.csv' AS line
CREATE (:Track { TrackId: line.Id, Name: line.Track, Length: line.Length})

Format/wymagania CSV

Oto kilka informacji o tym, jak plik CSV powinien być sformatowany przy użyciu LOAD CSV :

  • Kodowanie znaków musi być UTF-8.
  • Zakończenie linii końcowej jest zależne od systemu, na przykład \n w systemie Unix lub \r\n w systemie Windows.
  • Terminator musi być przecinkiem , chyba że określono inaczej, używając FIELDTERMINATOR opcja.
  • Znakiem do cudzysłowu jest podwójny cudzysłów " (są one usuwane podczas wczytywania danych).
  • Wszelkie znaki, które wymagają zmiany znaczenia, można zmienić za pomocą odwrotnego ukośnika \ postać.
  • LOAD CSV obsługuje zasoby skompresowane za pomocą gzip, Deflate, a także archiwów ZIP.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw MySQL do Wybierz

  2. Jak połączyć się z MySQL za pomocą Microsoft .NET

  3. Jak duża może być baza danych MySQL, zanim wydajność zacznie spadać

  4. Jak uciec od pojedynczych cudzysłowów w MySQL

  5. Jak działa funkcja UPPER() w MySQL