Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Neo4j - Cypher . का उपयोग करके CSV फ़ाइल से डेटा आयात करें

आप CSV (अल्पविराम से अलग किए गए मान) फ़ाइल से डेटा को Neo4j डेटाबेस में आयात कर सकते हैं। ऐसा करने के लिए, LOAD CSV का उपयोग करें खंड।

CSV फ़ाइलों को Neo4j में लोड करने में सक्षम होने से किसी अन्य डेटाबेस मॉडल (उदाहरण के लिए, एक रिलेशनल डेटाबेस) से डेटा आयात करना आसान हो जाता है।

Neo4j के साथ, आप CSV फ़ाइलों को स्थानीय या दूरस्थ URL से लोड कर सकते हैं।

स्थानीय रूप से (डेटाबेस सर्वर पर) संग्रहीत फ़ाइल तक पहुँचने के लिए, एक file:/// . का उपयोग करें यूआरएल. अन्यथा, आप किसी भी HTTPS, HTTP और FTP प्रोटोकॉल का उपयोग करके दूरस्थ फ़ाइलें आयात कर सकते हैं।

एक CSV फ़ाइल लोड करें

आइए genres.csv . नामक एक CSV फ़ाइल लोड करें HTTP प्रोटोकॉल का उपयोग करना। यह एक बड़ी फ़ाइल नहीं है — इसमें 115 संगीत शैलियों की सूची है, इसलिए यह 115 नोड्स (और 230 गुण) बनाएगी।

यह फ़ाइल Quackit.com पर संग्रहीत है, इसलिए आप इस कोड को अपने Neo4j ब्राउज़र से चला सकते हैं और इसे सीधे आपके डेटाबेस में आयात करना चाहिए (यह मानते हुए कि आप इंटरनेट से जुड़े हुए हैं)।

आप फ़ाइल को यहाँ भी डाउनलोड कर सकते हैं:शैली.csv

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

यदि आवश्यक हो तो आप CSV फ़ाइल से कुछ फ़ील्ड छोड़ सकते हैं। उदाहरण के लिए, यदि आप नहीं चाहते कि पहली फ़ील्ड डेटाबेस में आयात की जाए, तो आप बस GenreId: line[0], को छोड़ सकते हैं उपरोक्त कोड से।

उपरोक्त कथन को चलाने से निम्नलिखित सफलता संदेश उत्पन्न होना चाहिए:

आप नए बनाए गए नोड्स को देखने के लिए एक क्वेरी के साथ उसका अनुसरण कर सकते हैं:

MATCH (n:Genre) RETURN n

जिसके परिणामस्वरूप डेटा विज़ुअलाइज़ेशन फ़्रेम के चारों ओर नोड्स बिखरे हुए होने चाहिए:

हेडर वाली CSV फ़ाइल आयात करें

पिछली CSV फ़ाइल में कोई हेडर नहीं था. यदि CSV फ़ाइल में शीर्षलेख हैं, तो आप WITH HEADERS . का उपयोग कर सकते हैं ।

इस पद्धति का उपयोग करने से आप प्रत्येक फ़ील्ड को उनके कॉलम/हेडर नाम से संदर्भित कर सकते हैं।

हमारे पास एक और CSV फ़ाइल है, इस बार हेडर के साथ। इस फ़ाइल में एल्बम ट्रैक की सूची है।

फिर से, यह एक बड़ी फ़ाइल नहीं है — इसमें 32 ट्रैक्स की सूची है, इसलिए यह 32 नोड्स (और 96 गुण) बनाएगा।

यह फ़ाइल Quackit.com पर भी संग्रहीत है, इसलिए आप इस कोड को अपने Neo4j ब्राउज़र से चला सकते हैं और इसे सीधे आपके डेटाबेस में आयात करना चाहिए (यह मानते हुए कि आप इंटरनेट से जुड़े हुए हैं)।

आप फ़ाइल को यहाँ भी डाउनलोड कर सकते हैं:track.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})

यह निम्नलिखित सफलता संदेश उत्पन्न करेगा:

नव निर्मित नोड्स को देखने के लिए एक क्वेरी के साथ अनुवर्ती:

MATCH (n:Track) RETURN n

जिसके परिणामस्वरूप नए नोड्स डेटा विज़ुअलाइज़ेशन फ़्रेम के चारों ओर बिखरे हुए हैं।

पंक्तियों . पर क्लिक करें प्रत्येक नोड और उसके तीन गुणों को देखने के लिए आइकन:

कस्टम फ़ील्ड सीमांकक

यदि आवश्यक हो तो आप एक कस्टम फ़ील्ड डिलीमीटर निर्दिष्ट कर सकते हैं। उदाहरण के लिए, यदि CSV फ़ाइल इसी प्रकार फ़ॉर्मेट की जाती है, तो आप अल्पविराम के बजाय एक अर्ध-कोलन निर्दिष्ट कर सकते हैं।

ऐसा करने के लिए, बस FIELDTERMINATOR जोड़ें बयान के लिए खंड। इस तरह:

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})

बड़ी फ़ाइलें आयात करना

यदि आप बहुत अधिक डेटा वाली फ़ाइल आयात करने जा रहे हैं, तो PERODIC COMMIT खंड आसान हो सकता है।

PERIODIC COMMIT का उपयोग करना Neo4j को एक निश्चित संख्या में पंक्तियों के बाद डेटा जमा करने का निर्देश देता है। इससे लेन-देन की स्थिति की मेमोरी ओवरहेड कम हो जाती है।

डिफ़ॉल्ट 1000 पंक्तियाँ हैं, इसलिए डेटा हर हज़ार पंक्तियों में प्रतिबद्ध होगा।

PERIODIC COMMIT का उपयोग करने के लिए बस USING PERIODIC COMMIT डालें कथन की शुरुआत में (LOAD CSV . से पहले) )

यहां एक उदाहरण दिया गया है:

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})

आवधिक प्रतिबद्धताओं की दर निर्धारित करना

आप दर को 1000 पंक्ति डिफ़ॉल्ट से दूसरी संख्या में भी बदल सकते हैं। USING PERIODIC COMMIT . के बाद बस नंबर जोड़ें :

इस तरह:

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})

सीएसवी प्रारूप/आवश्यकताएं

LOAD CSV . का उपयोग करते समय CSV फ़ाइल को कैसे स्वरूपित किया जाना चाहिए, इस बारे में कुछ जानकारी यहां दी गई है :

  • वर्ण एन्कोडिंग UTF-8 होना चाहिए।
  • एंड लाइन टर्मिनेशन सिस्टम पर निर्भर है, उदाहरण के लिए, \n यूनिक्स पर या \r\n . पर विंडोज़ पर।
  • टर्मिनेटर एक अल्पविराम होना चाहिए , जब तक अन्यथा निर्दिष्ट नहीं किया जाता है FIELDTERMINATOR . का उपयोग करके विकल्प।
  • स्ट्रिंग उद्धरण के लिए वर्ण दोहरा उद्धरण है " (डेटा पढ़ने पर इन्हें हटा दिया जाता है)।
  • किसी भी वर्ण से बचने की आवश्यकता है जिसे बैकस्लैश \ से बचाया जा सकता है चरित्र।
  • LOAD CSV gzip, Deflate, और साथ ही 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. UTF-8 सभी तरह से

  2. एक IN स्थिति sql में =से धीमी क्यों होगी?

  3. डबल-एन्कोडेड UTF8 वर्णों को कैसे ठीक करें (utf-8 तालिका में)

  4. वीपीएन विकल्प के रूप में एसएसएच टनलिंग का उपयोग करना

  5. टेबल यूजर के लिए सॉल्विंग इंडेक्स भ्रष्ट है; इसे सुधारने का प्रयास करें