6

logstash を使用して、csv ファイルから Elasticsearch にデータをフィードしようとしています。これらの csv ファイルには、最初の行が列名として含まれています。ファイルの解析中にその行をスキップする特定の方法はありますか? 例外の場合に次の行にスキップするように使用できる条件/フィルターはありますか??

私の設定ファイルは次のようになります:

input {  
      file {
          path => "/home/sagnik/work/logstash-1.4.2/bin/promosms_dec15.csv"
          type => "promosms_dec15"
          start_position => "beginning"
          sincedb_path => "/dev/null"
      }
}
filter {

    csv {
        columns => ["Comm_Plan","Queue_Booking","Order_Reference","Generation_Date"]
        separator => ","
    }  
    ruby {
          code => "event['Generation_Date'] = Date.parse(event['Generation_Date']);"
    }

}
output {  
    elasticsearch { 
        action => "index"
        host => "localhost"
        index => "promosms-%{+dd.MM.YYYY}"
        workers => 1
    }
}

私のcsvファイルの最初の数行は次のようになります

"Comm_Plan","Queue_Booking","Order_Reference","Generation_Date"
"","No","FMN1191MVHV","31/03/2014"
"","No","FMN1191N64G","31/03/2014"
"","No","FMN1192OPMY","31/03/2014"

とにかく最初の行をスキップできますか?また、csv ファイルが改行で終わり、何も入っていない場合も、エラーが発生します。これらの新しい行がファイルの最後にある場合、または 2 つの行の間に空の行がある場合、それらの新しい行をスキップするにはどうすればよいですか?

4

2 に答える 2