首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Elasticsearch 使用 river-jdbc 從關聯式資料庫匯入資料

     編輯:關於SqlServer

River 外掛架構

Elasticsearch River 模組以插件形式從外部資料源拉取資料,社群支援眾多來源:

  • 官方:CouchDB, RabbitMQ, Twitter, Wikipedia
  • 社群:JDBC, MongoDB, Kafka, Redis, CSV, GitHub 等

JDBC River 為關聯式資料庫提供統一介面。

安裝步驟

  1. 安裝 elasticsearch-river-jdbc 插件:
    ./bin/plugin --install jdbc --url xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.1.0.1/elasticsearch-river-jdbc-1.1.0.1-plugin.zip
  2. 安裝資料庫 JDBC 驅動:下載 Microsoft JDBC Driver,將 sqljdbc4.jar 放入 Elasticsearch lib/ 目錄。叢集每個節點皆需執行。
  3. 建立 River 定義(以 SQL Server 為例):
    PUT /_river/mytest_river/_meta
    {
      "type": "jdbc",
      "jdbc": {
        "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
        "url": "jdbc:sqlserver://MYSQLSERVERNAME;databaseName=MYProductDatabase",
        "user": "admin",
        "password": "Password",
        "sql": "SELECT ProductID as _id, CategoryID, ManufacturerID, MfName, ProductTitle, MfgPartNumber FROM MyProductsTable (nolock)",
        "poll": "10m",
        "strategy": "simple",
        "index": "myinventory",
        "type": "product",
        "bulk_size": 100,
        "max_retries": 5,
        "max_retries_wait": "30s",
        "max_bulk_requests": 5,
        "bulk_flush_interval": "5s"
      }
    }

River 會依 poll 間隔定期執行 sql 查詢,將結果批次寫入指定索引。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved