Todos os produtos
Search
Central de documentação

DataWorks:source de dados do OpenSearch

Última atualização: Oct 09, 2026

O DataWorks Data Integration permite gravar dados no OpenSearch com o OpenSearch Writer. Este tópico descreve como gravar dados offline do DataWorks no OpenSearch.

Versões suportadas

  • A V3 usa um pacote de segunda parte com a dependência do Maven com.aliyun.opensearch:aliyun-sdk-opensearch:2.1.3.

  • Para usar o plug-in do OpenSearch Writer, use o JDK 1.6-32 ou posterior. Execute java -version para verificar a versão do Java.

  • Edições comerciais suportadas do Alibaba Cloud OpenSearch: Industry Algorithm Edition, LLM Intelligent Q&A Edition, High-performance Search Edition, Vector Search Edition e Retrieval Engine Edition.

Limites

  • O OpenSearch Writer é compatível com Serverless resource groups (recommended) e exclusive resource groups for Data Integration, mas não é compatível com custom resource groups.

  • As colunas do OpenSearch não são ordenadas. Portanto, ao gravar dados, o OpenSearch Writer deve seguir a ordem das colunas especifique. Se você especifique menos colunas do que as existentes no OpenSearch, as colunas restantes usarão os valores padrão ou nulo.

    Por exemplo, suponha que os campos a serem importados sejam b e c, e a tabela do OpenSearch tenha as colunas a, b e c. configure as colunas como "column":["c","b"]. Assim, a primeira e a segunda colunas do Reader são importadas para os campos c e b, e o campo a no registro recém-inserido é defina com o valor padrão ou nulo.

  • Atualmente, é possível gravar dados offline no OpenSearch apenas no modo de script.

Tipos de campo suportados

O OpenSearch Writer é compatível com a maioria dos tipos do OpenSearch. Verifique os tipos de dados. A tabela a seguir lista os mapeamentos de tipos do OpenSearch.

Categoria de tipo

Tipo de dados do OpenSearch

Inteiro

INT

Ponto flutuante

DOUBLE e FLOAT

String

TEXT, LITERAL e SHORT_TEXT

Data e hora

INT

Booliano

LITERAL

Desenvolver uma tarefa de sincronização de dados

Para obter informações sobre o ponto de entrada e o procedimento para configure uma tarefa de sincronização, consulte os guias de configure a seguir.

Perguntas frequentes

Como lidar com configure de coluna incorretas

Para garantir gravações confiáveis e evitar perda de dados causada por excesso de colunas, o OpenSearch Writer retorna um erro se você gravar um número excessivo de colunas. Por exemplo, se uma tabela do OpenSearch tiver os campos a, b e c, o OpenSearch Writer retornará um erro ao receber mais de três campos.

Considerações sobre a configure de tabela

O OpenSearch Writer pode gravar em apenas uma tabela por vez.

Reexecução de tarefas e failover

Após uma reexecução, os registros com o mesmo id são sobrescritos automaticamente. Portanto, as colunas inseridas no OpenSearch devem incluir um id que identifique exclusivamente cada registro. Registros com o mesmo identificador sobrescrevem uns aos outros.

Apêndice: Exemplos de scripts e descrições de parâmetros

configure uma tarefa de sincronização em lote usando o editor de código

Para configure uma tarefa de sincronização em lote com o editor de código, configure os parâmetros relacionados no script com base nos requisitos unificados de formato de script. Para mais informações, consulte Script mode configuration. As informações a seguir descrevem os parâmetros que você deve configure para as source de dados ao configure uma tarefa de sincronização em lote com o editor de código.

Exemplo de script do Writer (Industry Algorithm Edition, LLM Intelligent Q&A Edition e High-performance Search Edition)

{
    "type": "job",
    "version": "1.0",
    "configuration": {
        "reader": {},
        "writer": {
            "plugin": "opensearch",
            "parameter": {
                "accessId": "*********",
                "accessKey": "********",
                "host": "http://yyyy.aliyuncs.com",
                "endpoint":"http://yyyy.aliyuncs.com",
                "indexName": "datax_xxx",
                "table": "datax_yyy",
                "column": [
                "appkey",
                "id",
                "title",
                "gmt_create",
                "pic_default"
                ],
                "batchSize": 500,
                "writeMode": add,
                "version":"v2",
                "ignoreWriteError": false
            }
        }
    }
}

Parâmetros do script do Writer (Industry Algorithm Edition, LLM Intelligent Q&A Edition e High-performance Search Edition)

Parâmetro

Descrição

Obrigatório

Valor padrão

accessId

AccessKey id do par de chaves de acesso.

Sim

Nenhum

accessKey

AccessKey Secret do par de chaves de acesso, equivalente a uma senha de login.

Sim

Nenhum

host

Endpoint de tráfego do OpenSearch. Encontre-o na página de detalhes da instância no console do OpenSearch.

Sim

Nenhum

endpoint

Endpoint de gerenciamento do OpenSearch. Encontre-o na documentação da edição relevante do OpenSearch. Por exemplo, para a Industry Algorithm Edition: Service endpoints.

Sim

Nenhum

indexName

Nome do aplicativo OpenSearch.

Sim

Nenhum

table

Nome da tabela de destino. Não é possível especifique várias tabelas porque o DataX não é compatível com a importação para várias tabelas simultaneamente.

Sim

Nenhum

column

Lista de campos a importar. Para importar todos os campos, configure "column":["*"]. Para importar apenas algumas colunas do OpenSearch, especifique-as. Por exemplo: "column":["id","name"].

O OpenSearch é compatível com a filtragem e a reordenação de colunas. Por exemplo, se uma tabela tiver os campos a, b e c, e você precisar apenas de c e b, configure ["c","b"]. Durante a importação, o campo a é preenchido com nulo.

Sim

Nenhum

batchSize

Número de registros gravados por lote. O OpenSearch é compatível com gravações em lote e geralmente se destaca em consultas em vez de alto throughput de gravação. defina esse valor com base nos recursos alocados para a sua conta.

Normalmente, um único registro do OpenSearch tem menos de 1 MB e uma gravação em lote tem menos de 2 MB.

Esta opção é obrigatória para tabelas particionadas e deve ser omitida para tabelas não particionadas.

300

writeMode

O OpenSearch Writer usa "writeMode":"add/atualize" para garantir gravações idempotentes:

  • "add": Se uma gravação falhar e a tarefa for reexecutada, o OpenSearch Writer remove o registro existente e importa o novo registro como uma operação atômica.

  • "atualize": Insere o registro atualize-o como uma operação atômica.

    Nota

    As inserções em lote do OpenSearch não são atômicas: alguns registros podem ter sucesso enquanto outros falham. selecione o writeMode com cuidado. Atualmente, a V3 não é compatível com operações de atualize.

Sim

Nenhum

ignoreWriteError

Ignora erros de gravação.

Exemplo de configuração:"ignoreWriteError":true. Determina se uma gravação em lote com falha deve ser ignorada. Se ativada, a tarefa continua com as outras gravações. Caso contrário, a tarefa para e retorna um erro. Recomenda-se usar o valor padrão.

Não

false

version

Versão do OpenSearch, por exemplo "version":"v3". Recomenda-se a V3 porque a V2 tem mais restrições em operações de push.

Não

v2

Exemplo de script do Writer (Vector Search Edition e Retrieval Engine Edition)

{
  "stepType": "opensearch",
  "parameter": {
    "indexName": "",
    "column": [
      {
        "name": "col3double",
        "type": "DOUBLE"
      },
      {
        "name": "col2vector",
        "type": "MULTI_FLOAT"
      }
    ],
    "datasource": "zm_test_vector_01",
    "batchSize": "500",
    "table": "demotable"
  },
  "name": "Writer",
  "category": "writer"
}

Parâmetros do script do Writer (Vector Search Edition e Retrieval Engine Edition)

Parâmetro

Descrição

Obrigatório

Valor padrão

table

Nome da tabela de destino. Não é possível especifique várias tabelas porque o DataX não é compatível com a importação para várias tabelas simultaneamente.

Sim

Nenhum

column

Lista de campos a importar. Para importar todos os campos, configure "column":["*"]. Para importar apenas algumas colunas do OpenSearch, especifique-as. Por exemplo: "column":["id","name"].

O OpenSearch é compatível com a filtragem e a reordenação de colunas. Por exemplo, se uma tabela tiver os campos a, b e c, e você precisar apenas de c e b, configure ["c","b"]. Durante a importação, o campo a é preenchido com nulo.

Sim

Nenhum

batchSize

Número de registros gravados por lote. O OpenSearch é compatível com gravações em lote e geralmente se destaca em consultas em vez de alto throughput de gravação. defina esse valor com base nos recursos alocados para a sua conta.

Normalmente, um único registro do OpenSearch tem menos de 1 MB e uma gravação em lote tem menos de 2 MB.

Esta opção é obrigatória para tabelas particionadas e deve ser omitida para tabelas não particionadas.

300