O Amazon Simple Storage Service (Amazon S3) é um Object Storage Service criado para armazenar e recuperar qualquer volume de dados de qualquer lugar. O DataWorks Data Integration permite ler e gravar dados no Amazon S3. Este tópico descreve as capacidades da fonte de dados Amazon S3 no DataWorks.
Limitações
Leitura em lote
O Amazon S3 armazena dados não estruturados. No Data Integration, o leitor do Amazon S3 oferece suporte aos seguintes recursos.
|
Supported |
Unsupported |
|
|
Gravação em lote
O gravador do Amazon S3 converte dados do protocolo de sincronização de dados em arquivos de texto no Amazon S3. O Amazon S3 é, por natureza, um armazenamento de dados não estruturados. O gravador do Amazon S3 suporta os seguintes recursos.
|
Supported |
Unsupported |
|
|
Adicionar uma fonte de dados
Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a fonte de dados necessária ao DataWorks seguindo as instruções em Data source configuration. Acesse o console do DataWorks para visualize as descrições dos parâmetros e entender o significado de cada um ao adicionar uma fonte de dados.
Desenvolver uma tarefa de sincronização de dados
Para obter informações sobre o ponto de entrada e o procedimento de configure de uma tarefa de sincronização, consulte os guias de configure a seguir.
Configure uma tarefa de sincronização em lote de tabela única
Para o procedimento, consulte Configure a batch synchronization task by using the codeless UI e Configure a batch synchronization task by using the code editor.
Para os parâmetros completos e o demo de script no modo script, consulte Appendix: Script demo and parameter description.
Apêndice: Demo de script e descrição 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 usando o editor de código, configure os parâmetros relacionados no script de acordo com os requisitos do formato de script unificado. Para mais informações, consulte Script mode configuration. As informações a seguir descrevem os parâmetros que devem ser configurados para as fontes de dados ao usar o editor de código.
Demo de script do Reader
{
"type":"job",
"version":"2.0",// The version number.
"steps":[
{
"stepType":"s3",// The plug-in name.
"parameter":{
"nullFormat":"",// The string that represents a null value.
"compress":"",// The compression type.
"datasource":"",// The data source name.
"column":[// The columns.
{
"index":0,// The column index.
"type":"string"// The data type.
},
{
"index":1,
"type":"long"
},
{
"index":2,
"type":"double"
},
{
"index":3,
"type":"boolean"
},
{
"format":"yyyy-MM-dd HH:mm:ss", // The time format.
"index":4,
"type":"date"
}
],
"skipHeader":"",// Specifies whether to skip the header row of a CSV-like file.
"encoding":"",// The encoding format.
"fieldDelimiter":",",// The column delimiter.
"fileFormat": "",// The file format. Valid values: csv, text, parquet, orc, json, and jsonl.
"object":[]// The object prefix.
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":""// The error count.
},
"speed":{
"throttle":true,// Specifies whether to enable throttling. A value of false indicates that throttling is disabled and the mbps parameter does not take effect. A value of true indicates that throttling is enabled.
"concurrent":1 // The concurrency.
"mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Parâmetros do script do Reader
|
Parameter |
Description |
Required |
Default value |
|
datasource |
O nome da fonte de dados. O modo script permite adicionar fontes de dados. O valor deste parâmetro deve ser igual ao nome da fonte de dados adicionada. |
Sim |
N/A |
|
Object |
As informações do objeto no Amazon S3. É possível especifique múltiplos objetos. Por exemplo, se o bucket contiver uma pasta chamada test e essa pasta contiver um arquivo chamado ll.txt, defina Object como test/ll.txt.
Nota
|
Sim |
N/A |
|
column |
A lista de colunas a serem lidas. O parâmetro type especifique o tipo de dado dos dados de origem:
Por padrão, todos os dados podem ser lidos como tipo String. Exemplo de configure:
Também é possível especifique informações de colunas. Exemplo de configure:
Nota
Nas informações de column especificadas, o parâmetro type é obrigatório. Para o formato CSV/TEXT, especifique index ou value. Para o formato JSON/JSONL, especifique jsonPath ou value. |
Sim |
Todos os dados são lidos como tipo STRING. |
|
fieldDelimiter |
O delimitador de colunas para leitura de dados. Nota
Ao ler dados com o leitor do Amazon S3, é necessário especifique um delimitador de colunas. Se nenhum delimitador for especificado, o delimitador padrão (,) será usado. O delimitador padrão (,) também é usado na interface sem código. Se o delimitador não for visível, especifique a codificação Unicode. Por exemplo, \u001b ou \u007c. |
Sim |
Valor padrão: (,) |
|
compress |
O tipo de compactação. Por padrão, este parâmetro é deixado em branco, indicando que nenhuma compactação é aplicada. Os tipos de compactação suportados são gzip, bzip2 e zip. |
Não |
Sem compactação |
|
encoding |
A codificação dos arquivos a serem lidos. |
Não |
utf-8 |
|
nullFormat |
Strings padrão em arquivos de texto não conseguem representar null (ponteiro nulo). O sistema de sincronização de dados usa nullFormat para defina quais strings podem representar null. Por exemplo, ao defina |
Não |
N/A |
|
skipHeader |
Para arquivos CSV, use skipHeader para especifique se a linha de cabeçalho deve ser lida.
Nota
skipHeader não é suportado para arquivos compactados. |
Não |
false |
|
csvReaderConfig |
A configure para leitura de arquivos CSV. Este parâmetro é do tipo Map. O CsvReader lê arquivos CSV e oferece diversas opções de configure. Se este parâmetro não for configurado, os valores padrão serão aplicados. |
Não |
N/A |
|
minLastModified |
Filtra arquivos pela data da última modificação e defina o limite inferior inclusivo. Arquivos modificados em data igual ou posterior ( |
||
|
maxLastModified |
Filtra arquivos pela data da última modificação e defina o limite superior exclusivo. Somente arquivos modificados antes ( |
Demo de script do Writer
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "s3",
"category": "writer",
"name": "Writer",
"parameter": {
"datasource": "datasource1",
"object": "test/csv_file.csv",
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"lineDelimiter": "\n",
"column": [
"0",
"1"
],
"header": [
"col_bigint",
"col_tinyint"
],
"writeMode": "truncate",
"writeSingleObject": true
}
}
],
"setting": {
"errorLimit": {
"record": "" // The error count.
},
"speed": {
"throttle": true, // Specifies whether to enable throttling. A value of false indicates that throttling is disabled and the mbps parameter does not take effect. A value of true indicates that throttling is enabled.
"concurrent": 1 // The concurrency.
"mbps": "12", // The throttling rate. 1 mbps = 1 MB/s.
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parâmetros do script do Writer
|
Parameter |
Description |
Required |
Default value |
|
datasource |
O nome da fonte de dados. O modo script permite adicionar fontes de dados. O valor deste parâmetro deve ser igual ao nome da fonte de dados adicionada. |
Sim |
N/A |
|
object |
O nome do objeto de destino. |
Sim |
N/A |
|
fileFormat |
Os seguintes formatos de arquivo são suportados:
|
Sim |
text |
|
writeMode |
|
Sim |
append |
|
fieldDelimiter |
O delimitador de colunas para gravação de dados. |
Não |
Valor padrão: (,) |
|
lineDelimiter |
O delimitador de linhas para gravação de dados. |
Não |
Valor padrão: (\n) |
|
compress |
O tipo de compactação. Por padrão, este parâmetro é deixado em branco, indicando que nenhuma compactação é aplicada.
|
Não |
Sem compactação |
|
nullFormat |
Strings padrão em arquivos de texto não conseguem representar null (ponteiro nulo). O sistema de sincronização de dados usa |
Não |
N/A |
|
header |
O cabeçalho a ser gravado. Exemplo: |
Não |
N/A |
|
writeSingleObject |
true: Grava os dados em um único arquivo. false: Grava os dados em múltiplos arquivos. Nota
|
Não |
false |
|
encoding |
A codificação dos arquivos a serem gravados. |
Não |
utf-8 |
|
column |
A configure de colunas para gravação de dados.
|
Sim |
N/A |