2016-06-29 6 views
0

Ich verwende Logstash 2.3.3, um Daten von CSV-Datei zu Elasticsearch 2.3.3 zu laden.Kann Daten von CSV zu Elasticsearch mit Logstash nicht laden

Hier ist meine Logstash Konfigurationsdatei:

input { 
    #stdin { 
    # type => "stdin-type" 
    #} 

    file { 
    path => "/Users/hieupm/export.txt" 
    start_position => "beginning" 
    codec => plain { 
     charset => "CP1252" 
    } 
    } 
} 

filter { 
    mutate { 
    gsub => [ 
     "message", "\"", " ", 
     "message", " +", " ", 
     "message", " ;", ";", 
     "message", "; ", ";" 
    ] 
    lowercase => ["message"] 
    } 
    csv { 
    columns => ["siren","raison_sociale","enseigne","cp_ville","naf","nature_juridique","code_tranche"] 
    separator => "," 
    } 
} 

output { 
    #stdout { 
    #} 

    elasticsearch { 
    hosts => "127.0.0.1:9200" 
    index => "ereputation" 
    document_id => "%{siren}" 
    } 
} 

Das Ausführungsprotokoll (im Terminal) einen Fehler nicht geben, aber es wie unten angezeigt und nie fertig

Settings: Default pipeline workers: 8 
Pipeline main started 

Meine Beispieldaten :

siren,raison_sociale,enseigne,cp_ville,naf,nature_juridique,code_tranche 
5420021,ETABLISSEMENTS BIQUEZ,,80100 ABBEVILLE,4669B,5710,11 
5420120,STE DES SUCRERIES DU MARQUENTERRE,,62140 MARCONNELLE,1081Z,5599,11 
5480082,STE BRETONNE DE TRAVAUX PUBLICS,,44600 ST NAZAIRE,4312A,5599,21 
5480546,SOCIETE DE DISTRIBUTION DE PAPIER,,44350 GUERANDE,1712Z,5710,21 
5520176,CARTONNAGE HERNAS,,80210 FEUQUIERES EN VIMEU,1721A,5710,21 
5520242,PROSPA,,80510 LONGPRE LES CORPS SAINTS,2030Z,5710,12 
5520325,ETABLISSEMENTS ADRIEN RIQUIER,,80570 DARGNIES,4674B,5710,12 
5540380,SNC COMTE ET CIE,PHARMACIE COMTE,04000 DIGNE LES BAINS,4773Z,5202,11 
5541552,ETABLISSEMENTS BONNET FRERES,,04370 BEAUVEZER,5610C,5499,03 

Danke für irgendwelche Vorschläge!

+0

Fügen Sie bitte Ihre Frage ein, was genau schief läuft? –

+0

Gibt es etwas, was es zu Ihrem elastischenSuchen macht? –

+0

Es ist einfacher, dies ohne ES im Mix zu debuggen, indem man die auskommentierte 'stdout' Ausgabe benutzt. Dies ist höchstwahrscheinlich ein Analyseproblem. – pickypg

Antwort

0

Ich bin der Autor von elasticsearch_loader
Wenn Sie nur CSV-Daten laden möchten in Elasticsearch Sie elasticsearch_loader
I ESL können für genau dieses Problem schrieb

Sie können es mit pip herunterladen:

pip install elasticsearch-loader 

Und dann werden Sie in der Lage sein, csv laden/json/Parkett Dateien in Elasticsearch durch Ausgabe:

elasticsearch_loader --index ereputation --type incident csv input1.csv input2.csv 
+0

Vielen Dank, Ihr Modul funktioniert gut für meinen Fall :) –

+1

@ minh-hieu.pham dann, warum nicht die Antwort akzeptieren? – desertnaut