Skip to main content

同步MySQL数据到ElasticSearch

Project description

MySync

同步MySQL数据到ElasticSearch

支持全量同步

必须有自增id

安装

$ pip install mysync

$ mysync

# run config test 
$ mysync -t config.yml

# run sync
$ mysync -c config.yml

默认的配置文件default_config.yml

# 输入配置
input:

  # 数据库配置
  mysql:
    db_url: ~

    # 或者
    host: '127.0.0.1'
    port: 3306
    database: data
    username: root
    password: ''

  # 主键列名
  primary_key: id

  # 主键类型
  primary_type: int

  # 同步的表名,必填
  # table: ''

  # 需要同步字段
  fields: '*'

  # 分页大小
  size: 10

  # 生产者,会按照路径导入
  producer: 'mysync.producer.mysql_producer@producer'

  # 启用同步点
  sync_point: true

  # 同步点文件
  sync_file: ~

# 数据处理管道
pipeline:
  handlers: ~

# 输出配置
output:

  # ES配置
  elasticsearch:
    hosts:
      - 'http://127.0.0.1:9200'

  # 索引名,必填
  # index: ''

  # 操作:index, update
  action: 'index'

  # 文档type
  document_type: 'doc'

  # 文档id
  document_id: 'id'

  # 是否在控制台输出json
  stdout: false

  # 数据消费者
  consumer: 'mysync.consumer.es_consumer@consumer'

默认的处理器

# 生产者,会按照路径导入
producer: 'mysync.producer.mysql_producer@producer'

# 数据消费者
consumer: 'mysync.consumer.es_consumer@consumer'

# 可选的数据处理器
handlers: 
    - mysync.pipeline.field_mapping_pipeline@pipeline

接口说明

生产者
def producer(config):

处理器
def pipeline(config, rows)

消费者
def consumer(config, rows):

TODO

1. 配置文件继承 extends 2. 配置文件运行前检测 -t

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MySync-0.0.13.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

MySync-0.0.13-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file MySync-0.0.13.tar.gz.

File metadata

  • Download URL: MySync-0.0.13.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.0

File hashes

Hashes for MySync-0.0.13.tar.gz
Algorithm Hash digest
SHA256 a6c9303b297b731754c0bc2a907f7b3a54c73833b49152a7e7b5372621eb688f
MD5 241fbb8c5d152ef5fbae342f58b5e2a8
BLAKE2b-256 9dbe6646432bd5b07bbf7b091979f40d59f4ef75058ba01c7d52c6a46e942969

See more details on using hashes here.

File details

Details for the file MySync-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: MySync-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.0

File hashes

Hashes for MySync-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 85b26d3c26cdcc35b7da461fc94aaa698085bf17962b7084713c2875a55cc732
MD5 73f4930c2dd9c07cdb482d0a0605e7da
BLAKE2b-256 06556e24e65ffd1715a5c409f54fd28facffa14233dcd74c085e6ba95053070e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page