logstash
に入力したいタブ区切りのデータがあります。これが私の設定ファイルです:
input {
file {
path => "/*.csv"
type => "testSet"
start_position => "beginning"
}
}
filter {
csv {
separator => "\t"
}
}
output {
stdout {
codec => rubydebug
}
}
すべての.csv
ファイルを検索し、タブを使用してそれらを分離するだけです。このような入力の場合:
col1 col2
data1 data2
logstash
出力は(2行の場合):
column1 => "col1\tcol2"
column1 => "data1\tdata2"
明らかに、それは正しく解析されていません。この問題は少し前に発生したことがわかりました ここ しかし解決策はありませんでした。この問題が解決されたかどうか、または別の方法があるかどうかを誰かが知っていますか?ありがとう!
区切り文字として「\ t」を使用する代わりに、実際のタブを入力します。このような:
filter {
csv {
separator => " "
}
}
https://www.elastic.co/guide/en/logstash/6.2/plugins-filters-csv.html#plugins-filters-csv-separator
列区切り文字の値を定義します。これが指定されていない場合、デフォルトはコンマ、です。表を区切り文字として定義する場合は、値を\ tではなく実際のタブ文字に設定する必要があります。