A fonte de dados SAP HANA permite ler e gravar dados no SAP HANA no DataWorks.
Versões compatíveis
DataBase 2.00.048.06.1623425628
DataBase 2.00.055.00.161
Limitações
A sincronização offline permite a leitura de dados de views.
Esta fonte de dados é compatível com grupos de recursos serverless (recomendado) e grupos de recursos exclusivos para Data Integration.
Tipos de campo compatíveis
O SAP HANA Reader oferece suporte aos seguintes tipos de dados.
|
Categoria de tipo |
Tipos de dados |
|
Inteiro |
INT, TINYINT, SMALLINT, MEDIUMINT e BIGINT |
|
Ponto flutuante |
FLOAT, DOUBLE e DECIMAL |
|
String |
VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT |
|
Data e hora |
DATE, DATETIME, TIMESTAMP, TIME e YEAR |
|
Booleano |
BIT e BOOL |
|
Binário |
TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB e VARBINARY |
Os tipos de dados não listados acima não têm suporte. O SAP HANA Reader trata tinyint(1) como um número inteiro.
Adicionar uma fonte de dados
Adicione o SAP HANA como fonte de dados no DataWorks antes de desenvolver uma tarefa de sincronização. Para obter instruções, consulte Gerenciamento de fontes de dados.
As descrições dos parâmetros estão disponíveis diretamente no console do DataWorks ao adicionar a fonte de dados.
Desenvolver uma tarefa de sincronização de dados
Configure uma tarefa de sincronização offline para uma única tabela
Use a interface visual sem código ou o editor de código para configurar a tarefa:
Para consultar todos os parâmetros de script e um exemplo de script, veja Apêndice: Exemplo de script e descrições de parâmetros.
Apêndice: Exemplo de script e descrições de parâmetros
As seções a seguir descrevem os parâmetros de script do Reader e do Writer para tarefas de sincronização em lote configuradas no editor de código. Para requisitos de formato de script, consulte Configure uma tarefa no editor de código.
Exemplo de script do Reader
Todos os exemplos do Reader usam "stepType": "saphana" para identificar o plugin do SAP HANA.
Tabela única em um único banco de dados
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "saphana",
"parameter": {
"column": [
"id"
],
"connection": [
{
"querySql": ["select a,b from join1 c join join2 d on c.id = d.id;"],
"datasource": "",
"table": [
"xxx"
]
}
],
"where": "",
"splitPk": "",
"encoding": "UTF-8"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": true,
"concurrent": 1,
"mbps": "12"
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Tabelas fragmentadas
O sharding permite que o SAP HANA Reader leia dados de várias tabelas do SAP HANA. Todas as tabelas fragmentadas devem compartilhar o mesmo schema.
{
"type": "job",
"version": "1.0",
"configuration": {
"reader": {
"plugin": "saphana",
"parameter": {
"connection": [
{
"table": [
"tbl1",
"tbl2",
"tbl3"
],
"datasource": "datasourceName1"
},
{
"table": [
"tbl4",
"tbl5",
"tbl6"
],
"datasource": "datasourceName2"
}
],
"singleOrMulti": "multi",
"splitPk": "db_id",
"column": [
"id", "name", "age"
],
"where": "1 < id and id < 100"
}
},
"writer": {}
}
}
Parâmetros de script do Reader
|
Parâmetro |
Descrição |
Obrigatório |
Valor padrão |
|
|
Nome de usuário do banco de dados SAP HANA. |
Sim |
Nenhum |
|
|
Senha do banco de dados SAP HANA. |
Sim |
Nenhum |
|
|
Colunas a sincronizar. Use |
Sim |
Nenhum |
|
|
Nome da tabela a sincronizar. Especifique o valor como um array, mesmo para uma única tabela. |
Sim |
Nenhum |
|
|
URL JDBC (Java Database Connectivity) do banco de dados SAP HANA. Exemplo: |
Sim |
Nenhum |
|
|
Coluna numérica inteira usada como chave de divisão para sincronização simultânea. Caso não exista tal coluna, deixe este campo em branco. |
Não |
Nenhum |
Exemplo de script do Writer
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "saphana",
"parameter": {
"postSql": [],
"datasource": "",
"column": [
"id",
"value"
],
"batchSize": 1024,
"table": "",
"preSql": [
"delete from XXX;"
]
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": true,
"concurrent": 1,
"mbps": "12"
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parâmetros de script do Writer
|
Parâmetro |
Descrição |
Obrigatório |
Valor padrão |
|
|
Nome da fonte de dados. Deve corresponder ao nome configurado no editor de código. |
Sim |
Nenhum |
|
|
Nome da tabela de destino. |
Sim |
Nenhum |
|
|
Colunas de destino para gravação de dados, especificadas como um array. Exemplo: |
Sim |
Nenhum |
|
|
Instrução SQL executada antes do início da tarefa de sincronização. Útil para limpar dados antigos antes do carregamento. Exemplo: |
Não |
Nenhum |
|
|
Instrução SQL executada após a conclusão da tarefa de sincronização. A interface visual sem código aceita apenas uma instrução, enquanto o editor de código aceita múltiplas. Exemplo: |
Não |
Nenhum |
|
|
Quantidade de registros confirmados em um único lote. Valores maiores reduzem as idas e vindas na rede e aumentam o throughput, mas valores excessivos podem causar erros de falta de memória (OOM). |
Não |
1024 |