मेरे पास यह नमूना csv फ़ाइल है:

school, city, person_id, drivers_license_number
Georgetown, DC, 1, 1111
Vanderbilt, Nashville, 2, 2222
Ole Miss, Oxford, 3, 3333
Penn State, University Park, 4, 4444
NYU, New York City, 5, 5555
Georgetown, DC, 6, 6666
Georgetown, DC, 7, 7777
NYU, New York City, 8, 8888
Ole Miss, Oxford, 9, 9999
Vanderbilt, Nashville, 10, 1010
Penn State, University Park, 11, 1212

TL/DR, मैं इस csv को NiFi के माध्यम से रूट करना चाहता हूं और school कॉलम द्वारा अलग-अलग csv फाइलों में सहेजना चाहता हूं, उदाहरण के लिए, सभी तीन Georgetown प्रविष्टियों को एक फाइल में सहेजा जाना है कॉलम हेडर के साथ।

मुझे पता है कि मेरा क्यू इस के समान है, < a href="https://stackoverflow.com/questions/42022249/nifi-regular-expression-in-extracttext-gets-csv-header-instead-of-data">यह, और यह

मेरा सेटअप अब तक:

enter image description here

मैं अपनी निर्देशिका से जुड़ने के लिए GetFile का उपयोग करता हूं, और PartitionRecord को /school पर कॉन्फ़िगर किया गया है:

enter image description here

मुझे लगता है कि मैं यहाँ गलत हो रहा हूँ:

enter image description here

मैंने ExtractText को इस तरह कॉन्फ़िगर किया है:

enter image description here

और अंतिम चरण, PutFile सब कुछ वापस उसी .txt फ़ाइल में सहेजता है, लेकिन school द्वारा समूहीकृत किया जाता है। मुझे यकीन नहीं है कि स्कूल के आधार पर फ़ाइल का नाम कैसे बदला जाए या उन्हें अपनी फाइलों में कैसे रूट किया जाए।

1
papelr 5 अक्टूबर 2018, 16:33

1 उत्तर

सबसे बढ़िया उत्तर

आपके पास स्प्लिटटेक्स्ट या एक्सट्रैक्टटेक्स्ट नहीं होना चाहिए, पार्टीशन रिकॉर्ड से निकलने वाली फ्लो फाइलें पहले से ही स्कूल द्वारा समूहीकृत की जाएंगी, प्रति स्कूल एक फ्लो फाइल। एक UpdateAttribute प्रोसेसर को PartitionRecord और PutFile के बीच में रखें, और फ़ाइल नाम को स्कूल के नाम में बदलने के लिए filename = ${school} सेट करें।

3
Bryan Bende 5 अक्टूबर 2018, 13:51