我最近订阅了弹性白金许可证,以使用弹性云服务。我想设计摄取管道,它将数据从雪花数据仓库中提取到elasticsearch服务中。我已经探索并发现了以下方法,请建议最好的方法来设计管道。还请向我指出任何可用的文档。
发布于 2022-11-30 14:29:07
我会用#1:
您可以使用Logstash通过JDBC驱动程序从雪花中提取数据,然后将数据发送到Elastic:
一些参考链接:
雪花JDBC驱动程序https://docs.snowflake.com/en/user-guide/jdbc.html
使用cloud_id:https://www.elastic.co/guide/en/logstash/current/connecting-to-cloud.html将日志存储到弹性云中
示例Logstash conf文件
input {
jdbc {
jdbc_driver_library => "/etc/logstash/pipeline/snowflake/dependency/snowflake-jdbc-3.9.2.jar"
jdbc_driver_class => "com.snowflake.client.jdbc.SnowflakeDriver"
jdbc_connection_string => "jdbc:snowflake://url.eu-west-1.snowflakecomputing.com/?db=dbname&warehouse=House"
jdbc_user => "user"
jdbc_password => "password"
schedule => "15 * * * *"
statement => "
SELECT TOP 100000 * FROM dbname.CORE.table WHERE timestamp >= '2038-10-02 00:00:00' AND timestamp < '2038-10-02 23:59:59'
"
jdbc_fetch_size => 1000
}
}
output {
elasticsearch {
cloud_id => "<cloud id>"
api_key => "<api key>"
}
}要使两个数据库保持同步,可以使用sql_last_value参数,更多信息:
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html#_state
https://stackoverflow.com/questions/71702067
复制相似问题