美文网首页
组件分享之后端组件——ETL组件包transporter

组件分享之后端组件——ETL组件包transporter

作者: cn華少 | 来源:发表于2022-07-03 23:41 被阅读0次

    组件分享之后端组件——ETL组件包transporter

    背景

    近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

    组件基本信息

    内容

    本节我们分享一个ETL组件包transporter,此版本官方仅支持 mongodb 和 postgresql 适配器。稍后将添加对其他数据库的支持。其他适配器可能工作也可能不工作。鼓励您仍然使用 v0.5.2 进行非 mongo/postgres 迁移。

    Transporter 允许用户将许多数据适配器配置为源或接收器。这些可以是数据库、文件或其他资源。从源读取数据,转换为消息格式,然后向下发送到接收器,在接收器中将消息转换为其目的地的可写格式。用户还可以在 JavaScript 中创建数据转换,这些转换可以位于源和接收器之间并操纵或过滤消息流。

    适配器可能能够跟踪源数据中发生的更改。这种“尾部”功能允许运输机保持运行并保持接收器同步。

    最新的二进制版本可从Github 存储库获得

    使用格式如下:

    transporter init [source adaptor name] [sink adaptor name]
    

    具体使用案例如下:

    $ transporter init mongodb elasticsearch
    $ cat pipeline.js
    var source = mongodb({
      "uri": "${MONGODB_URI}"
      // "timeout": "30s",
      // "tail": false,
      // "ssl": false,
      // "cacerts": ["/path/to/cert.pem"],
      // "wc": 1,
      // "fsync": false,
      // "bulk": false,
      // "collection_filters": "{}",
      // "read_preference": "Primary"
    })
    
    var sink = elasticsearch({
      "uri": "${ELASTICSEARCH_URI}"
      // "timeout": "10s", // defaults to 30s
      // "aws_access_key": "ABCDEF", // used for signing requests to AWS Elasticsearch service
      // "aws_access_secret": "ABCDEF" // used for signing requests to AWS Elasticsearch service
    })
    
    t.Source(source).Save(sink)
    // t.Source("source", source).Save("sink", sink)
    // t.Source("source", source, "namespace").Save("sink", sink, "namespace")
    $
    

    每个适配器都有自己的 README 页面,其中包含有关配置和功能的详细信息

    更多使用方式可以参见该README

    本文声明:
    88x31.png
    知识共享许可协议
    本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

    相关文章

      网友评论

          本文标题:组件分享之后端组件——ETL组件包transporter

          本文链接:https://www.haomeiwen.com/subject/xuxqbrtx.html