O COS (Tencent Cloud Object Storage) é uma fonte de dados somente leitura no DataWorks. Conecte-o para ler arquivos de um bucket do COS e sincronizar os dados com qualquer destino compatível.
Capacidades suportadas
|
Capacidade |
Suportado |
|
Sincronização offline — leitura (source) |
Sim |
|
Sincronização offline — gravação (destino) |
Não |
|
Sincronização em tempo real |
Não |
Pré-requisitos
Antes de começar, verifique se você possui:
Uma conta na Tencent Cloud com um bucket do COS
Um SecretId e uma SecretKey com acesso de leitura ao bucket — obtenha-os no API Key Management do console da Tencent Cloud
O ID da região e o endpoint do bucket — consulte Regions and Endpoints
Um workspace do DataWorks
Tipos de dados suportados
|
Tipo de dado |
Descrição |
|
STRING |
Texto |
|
LONG |
Inteiro |
|
DOUBLE |
Número de ponto flutuante |
|
BOOL |
Booleano |
|
DATE |
Data e hora. Formatos suportados: |
|
BYTES |
Array de bytes. O conteúdo de texto é convertido em um array de bytes codificado em UTF-8. |
Crie uma fonte de dados
Crie uma fonte de dados do COS antes de configurar qualquer tarefa de sincronização. Para o procedimento completo, consulte Gerenciamento de fontes de dados.
Os principais parâmetros estão descritos abaixo.
|
Parâmetro |
Descrição |
|
Data Source Name |
Um nome exclusivo dentro do workspace. Utilize letras, dígitos e underscores ( |
|
Region |
A região onde o bucket está localizado. Insira o ID da região. Consulte Regions and Endpoints. |
|
Bucket |
O nome do bucket do COS. |
|
Endpoint |
O endpoint do COS. Consulte Regions and Endpoints. |
|
AccessKey ID |
Corresponde ao SecretId na Tencent Cloud. Obtenha-o em API Key Management. |
|
AccessKey Secret |
Corresponde à SecretKey na Tencent Cloud. Obtenha-a em API Key Management. |
Configure uma tarefa de sincronização offline para uma única tabela
Para configurar uma tarefa de sincronização offline do COS, utilize a interface visual sem código ou o editor de código.
Interface visual sem código: Consulte Configurar uma tarefa na interface visual sem código.
Editor de código: Consulte Configurar uma tarefa no editor de código. Para a referência completa de parâmetros e um exemplo de script, veja Apêndice: Demonstração de script e parâmetros.
Apêndice: Demonstração de script e parâmetros
Exemplo de script do Reader
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "cos",
"parameter": {
"datasource": "",
"object": ["f/z/1.csv"],
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"useMultiCharDelimiter": true,
"lineDelimiter": "\n",
"skipHeader": true,
"compress": "zip/gzip",
"column": [
{
"index": 0,
"type": "long"
},
{
"index": 1,
"type": "boolean"
},
{
"index": 2,
"type": "double"
},
{
"index": 3,
"type": "string"
},
{
"index": 4,
"type": "date"
}
]
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 1
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parâmetros do script do Reader
Conexão
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
O nome da fonte de dados. Deve corresponder exatamente ao nome da fonte de dados que você adicionou. |
Sim |
Nenhum |
Localizar arquivos
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
O caminho do arquivo. Suporta o caractere curinga asterisco ( |
Sim |
Nenhum |
Analisar arquivos
| Parâmetro | Descrição | Obrigatório | Padrão |
|---|---|---|---|
fileFormat |
O formato do arquivo de origem. Valores válidos: csv, text, parquet, orc. |
Sim | Nenhum |
column |
Os campos a serem lidos. Cada entrada especifica:<br>- type: o tipo de dado na origem<br>- index: a posição da coluna (baseada em zero)<br>- value: um valor constante — nenhum dado é lido da origem; em vez disso, uma coluna é gerada com este valor<br><br>Para ler todas as colunas como STRING, use "column": ["*"].<br><br>Para especificar colunas individuais:<br>``json<br>"column": [<br> { "type": "long", "index": 0 },<br> { "type": "string", "value": "alibaba" }<br>]``<br><br>Importante
Cada entrada deve incluir |
Sim | Todas as colunas como STRING |
fieldDelimiter |
O separador de campos. Para caracteres invisíveis, utilize a codificação Unicode (por exemplo, \u001b ou \u007c). |
Sim | , |
lineDelimiter |
O separador de linhas. Válido apenas quando fileFormat é text. |
Não | Nenhum |
encoding |
A codificação do arquivo. | Não | utf-8 |
compress |
O formato de compactação. Valores suportados: gzip, bzip2, zip. Deixe em branco se o arquivo não estiver compactado. |
Não | Sem compactação |
skipHeader |
Para um arquivo CSV, especifique se o cabeçalho da tabela deve ser lido.<br>- true: O cabeçalho da tabela é lido durante a sincronização de dados.<br>- false: O cabeçalho da tabela não é lido durante a sincronização de dados.<br><br>Nota
Não suportado para arquivos compactados. |
Não | false |
nullFormat |
A string a ser tratada como valor nulo. Por exemplo, se definido como "null", qualquer campo contendo o texto null será gravado no destino como nulo. Se não for definido, os dados de origem serão gravados conforme estão, sem conversão. |
Não | Nenhum |
Opções avançadas
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
|
Obrigatório quando `` message MessageTypeName { required |
optional DataType ColumnName; ... }
Tipos de dados suportados: `BOOLEAN Exemplo:
{"parquetSchema": "message UserProfile { optional int32 minute_id; optional int32 dsp_id; optional int32 adx_pid; optional int64 req; optional int64 res; optional int64 suc; optional int64 imp; optional double revenue; }"}
|
Não (obrigatório para Parquet) |
Nenhum |
|
|
Parâmetros adicionais para leitura de arquivos CSV, passados como um mapa. Usa os padrões se não for especificado. |
Não |
Nenhum |