Облачная платформаAdvanced

Использование CDM для импорта данных в Elasticsearch

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

С помощью CSS вы можете использовать веб‑интерфейс службы Cloud Data Migration (CDM) для импорта данных из базы данных Oracle или OBS в кластер Elasticsearch. Поддерживаются только файлы JSON.

Таблица 1 Использование CDM для импорта данных в CSS

Сценарий

Исходные данные

Целевой кластер

Импорт данных из базы данных Oracle в CSS

Локальная или сторонняя база данных Oracle

Elasticsearch 5.5, 6.2, 6.5, 7.1, 7.6, 7.9, или 7.10

Импорт данных из OBS в CSS

Файлы JSON в OBS бакетах

Elasticsearch 5.5, 6.2, 6.5, 7.1, 7.6, 7.9, или 7.10

Подготовка

  1. Подтвердите исходные данные.

    Например, исходные данные могут быть следующими файлами JSON:

    Для Elasticsearch 7.x и более новых версий:

    {"index": {"_index":"my_store"}}
    {"productName":"Autumn new woman blouses 2019","size":"M"}
    {"index": {"_index":"my_store"}}
    {"productName":"Autumn new woman blouses 2019","size":"L"}

    Для Elasticsearch версии ниже 7.x:

    {"index": {"_index":"my_store","_type":"products"}}
    {"productName":"Autumn new woman blouses 2019","size":"M"}
    {"index": {"_index":"my_store","_type":"products"}}
    {"productName":"Autumn new woman blouses 2019","size":"L"}

  2. Получите информацию об источнике данных.
    • Если источник данных — база данных Oracle, необходимо получить IP‑адрес, имя базы данных, имя пользователя и пароль базы данных.
    • Если источник данных — файлы JSON в OBS бакете, необходимо получить его доменное имя, порт, AK и SK.
  3. Если источник данных — база данных Oracle, убедитесь, что к базе данных Oracle можно получить доступ с помощью публичного IP‑адреса, либо установлено соединение VPN или Direct Connect между центром данных клиента и облачным сервисом.

Импорт данных

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Clusters > Elasticsearch.
  3. В списке кластеров получите частный IP‑адрес целевого кластера из Private IP Address столбца. Как правило, формат IP‑адреса: <host>:<port> или <host>:<port>,<host>:<port>.

    Если в кластере только один узел, отображаются IP-адрес и номер порта этого узла, например, 10.62.179.32:9200. Если в кластере несколько узлов, отображаются IP-адреса и номера портов всех узлов, например, 10.62.179.32:9200,10.62.179.33:9200.

  4. В списке кластеров найдите целевой кластер и нажмите Открыть Kibana в Операция столбец для входа в консоль Kibana.
  5. В навигационной панели Kibana слева выберите Dev Tools.
  6. Выполните следующую команду в консоли, чтобы проверить, есть ли в кластере индексы:
    GET _cat/indices?v
    • Если индексы доступны в кластере, в который вы хотите импортировать данные, создавать индекс не требуется. Перейдите к 8.
    • Если в кластере нет индексов, перейдите к следующему шагу для создания индекса.
  7. Выполните следующую команду, чтобы создать индекс для хранения импортированных данных и создать пользовательскую схему, определяющую тип данных.

    Например, выполните следующую команду для создания индекса demo:

    Для Elasticsearch 7.x и новее:

    PUT /demo
    {
    "settings": {
    "number_of_shards": 1
    },
    "mappings": {
    "properties": {
    "productName": {
    "type": "text",
    "analyzer": "ik_smart"
    },
    "size": {
    "type": "keyword"
    }
    }
    }
    }

    Для Elasticsearch версии ниже 7.x:

    PUT /demo
    {
    "settings": {
    "number_of_shards": 1
    },
    "mappings": {
    "products": {
    "properties": {
    "productName": {
    "type": "text",
    "analyzer": "ik_smart"
    },
    "size": {
    "type": "keyword"
    }
    }
    }
    }
    }

    Команда успешно выполнена, если отображается следующая информация.

    {
    "acknowledged" : true,
    "shards_acknowledged" : true,
    "index" : "demo"
    }
  8. Используйте CDM для импорта данных из Oracle или OBS в кластер Elasticsearch.
  9. После завершения миграции данных перейдите снова в консоль Kibana кластера Elasticsearch и выполните поиск импортированных данных.

    Выполните следующую команду для поиска данных. Если импортированные данные соответствуют исходным, импорт данных завершён успешно.

    GET demo/_search

    demo это имя созданного индекса. Замените его, если используется другой индекс.

    Команда выполнена успешно, если отображается следующая информация.

    {
    "took": 18,
    "timed_out": false,
    "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
    },
    "hits": {
    "total": 2,
    "max_score": 1,
    "hits": [
    {
    "_index": "demo",
    "_type": "products",
    "_id": "g6UepnEBuvdFwWkRmn4V",
    "_score": 1,
    "_source": {
    "size": """"size":"L"}""",
    "productName": """{"productName":"Latest art shirts for women in autumn 2019""""
    }
    },
    {
    "_index": "demo",
    "_type": "products",
    "_id": "hKUepnEBuvdFwWkRmn4V",
    "_score": 1,
    "_source": {
    "size": """"size":"M"}""",
    "productName": """{"productName":"Latest art shirts for women in autumn 2019""""
    }
    }
    ]
    }
    }