问一个数据迁移的问题

查看 13|回复 0
作者:luxinfl   
现状,mysql 存了大概 1000 万条企业的数据,由于查询条件很多,所以就打算把数据迁移到 es 里面。
用了 logstash ,每次都是全量同步。
所以有几个问题:
1.全量同步,磁盘空间要 double 才能存的下,因为要确保数据导进来才能把原有的删除掉
2.很慢,据说 4 个小时,看了查询语句,是直接 limit m offset n
所以想问下,有啥改进方法麽。能不能做到直接覆盖更新。
附上 logstash 配置
input {
    jdbc {
        jdbc_connection_string => "jdbc:xxx"
        jdbc_user => "xxx"
        jdbc_password => "xxx"
        jdbc_driver_library => "mysql-connector-java-8.0.24.jar"
        jdbc_driver_class => "xxx"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        lowercase_column_names => "false"
        statement_filepath => "xxx"
        # schedule => "* * * * *"
        type => "type1"
    }
  
}
output {
    if[type] == "type1" {
        elasticsearch {
            hosts => ["localhost:9200"]
            index => "t_jrb_corp_df_ce"
            document_id => "%{regNo}"     
            doc_as_upsert => true
        }
    }
}
sql 就是 select * from table 。
或者又没有其他方式,可以快速的从 mysql 导出数据到 es ,
您需要登录后才可以回帖 登录 | 立即注册

返回顶部