gpt4 book ai didi

elasticsearch - Logstash jdbc插件:如何对列使用日期过滤器?

转载 作者:行者123 更新时间:2023-12-02 23:27:08 25 4
gpt4 key购买 nike

在我的MS SQL表中,我有一列的日期存储为字符串,格式为“dd-mm-yyyy 00:00:00.000”
例如:1999-10-06 00:00:00.000或2000-04-27 00:00:00.000

在导入期间,我想将此列的值转换为日期类型。

我看到了一个称为过滤器的功能,可以执行这种类型的转换。
我找到了一些示例,但仅用于解析Beats带某种正则表达式的日志全文行。

如何对sql列使用此功能?
例如,如何修改该conf文件以使其真正起作用?

 input {
jdbc {
jdbc_connection_string => "jdbc:localhost;"
jdbc_user => "user"
jdbc_password => "pass"
jdbc_driver_library => "C:\Program Files (x86)\jdbc\sqljdbc_6.0\enu\sqljdbc42.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
statement => "SELECT * FROM SOLD"
}
}

filter
{
date {
match => [ "DATE_COLUMN", "YYYY-MM-dd 00:00:00.000" ]
}
}

output {
elasticsearch {
hosts => "localhost:9200"
index => "indexname"
document_type => "typename"

}
}

目前,该配置文件无效,无法创建此ES文本字段:
 "date_column": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}

最佳答案

所以答案是使用小写的编写列的名称来使此过滤器:

filter
{
date {
match => [ "date_column", "yyyy-MM-dd HH:mm:ss.SSS" ]
}
}

并为此日期格式创建一个Elasticsearch映射列:
PUT /index
{
"mappings": {
"type": {
"properties": {
"date_column": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss.SSS"
}
}
}
}
}

关于elasticsearch - Logstash jdbc插件:如何对列使用日期过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41533044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com