El origen de datos de SAP HANA permite leer y escribir datos en SAP HANA desde DataWorks.
Versiones compatibles
DataBase 2.00.048.06.1623425628
DataBase 2.00.055.00.161
Limitaciones
La sincronización sin conexión admite la lectura de datos desde vistas.
Este origen de datos es compatible con serverless resource groups (recommended) y exclusive resource groups for Data Integration.
Tipos de campo compatibles
SAP HANA Reader admite los siguientes tipos de datos.
|
Categoría de tipo |
Tipos de datos |
|
Entero |
INT, TINYINT, SMALLINT, MEDIUMINT y BIGINT |
|
Punto flotante |
FLOAT, DOUBLE y DECIMAL |
|
Cadena |
VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT y LONGTEXT |
|
Fecha y hora |
DATE, DATETIME, TIMESTAMP, TIME y YEAR |
|
Booleano |
BIT y BOOL |
|
Binario |
TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB y VARBINARY |
Los tipos de datos no listados anteriormente no son compatibles. SAP HANA Reader trata tinyint(1) como un entero.
Agregar un origen de datos
Agregue SAP HANA como origen de datos en DataWorks antes de desarrollar una tarea de sincronización. Para obtener instrucciones, consulte Data source management.
Las descripciones de los parámetros están disponibles directamente en la consola de DataWorks al agregar el origen de datos.
Al configurar un origen de datos de SAP HANA, los parámetros de conexión JDBC como socketTimeout no se aceptan en el campo Advanced parameters, que solo admite un subconjunto de propiedades del controlador, como connectTimeout y useSSL. Para establecer estos parámetros, agréguelos al valor de Database name con el formato dbname?key=value. Por ejemplo, establezca Database name en testdb?socketTimeout=60000, lo que genera la URL JDBC jdbc:sap://<host>:<port>/testdb?socketTimeout=60000.
Desarrollar una tarea de sincronización de datos
Configurar una tarea de sincronización sin conexión para una sola tabla
Utilice la interfaz sin código o el editor de código para configurar la tarea:
Para consultar todos los parámetros del script y una demostración del script, consulte Appendix: Script demo and parameter descriptions.
Apéndice: Demostración de script y descripciones de parámetros
En las siguientes secciones se describen los parámetros del script de Reader y Writer para tareas de sincronización por lotes configuradas en el editor de código. Para conocer los requisitos de formato del script, consulte Configure a task in the code editor.
Demostración de script de Reader
Todos los ejemplos de Reader utilizan "stepType": "saphana" para identificar el plugin de SAP HANA.
Tabla única en una base de datos única
{
"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"
}
]
}
}
Tablas fragmentadas
La fragmentación permite que SAP HANA Reader lea datos de varias tablas de SAP HANA. Todas las tablas fragmentadas deben compartir el mismo esquema.
{
"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 del script de Reader
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
|
El nombre de usuario para la base de datos de SAP HANA. |
Sí |
Ninguna |
|
|
La contraseña para la base de datos de SAP HANA. |
Sí |
Ninguna |
|
|
Las columnas que se van a sincronizar. Utilice |
Sí |
Ninguna |
|
|
El nombre de la tabla que se va a sincronizar. Especifique el valor como una matriz, incluso si es una sola tabla. |
Sí |
Ninguna |
|
|
La URL de Java Database Connectivity (JDBC) para la base de datos de SAP HANA. Ejemplo: |
Sí |
Ninguna |
|
|
Una columna numérica entera que se utiliza como clave de división para la sincronización simultánea. Si no existe dicha columna, deje este campo en blanco. |
No |
Ninguna |
Demostración de script de 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 del script de Writer
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
|
El nombre del origen de datos. Debe coincidir con el nombre configurado en el editor de código. |
Sí |
Ninguna |
|
|
El nombre de la tabla de destino. |
Sí |
Ninguna |
|
|
Las columnas de destino donde se escribirán los datos, especificadas como una matriz. Ejemplo: |
Sí |
Ninguna |
|
|
Una sentencia SQL que se ejecuta antes de que inicie la tarea de sincronización. Utilícela para borrar datos antiguos antes de la carga. Ejemplo: |
No |
Ninguna |
|
|
Una sentencia SQL que se ejecuta después de que finaliza la tarea de sincronización. En la interfaz sin código, solo se admite una sentencia. En el editor de código se admiten varias sentencias. Ejemplo: |
No |
Ninguna |
|
|
El número de registros confirmados en un solo lote. Un valor mayor reduce los ciclos de red y mejora el rendimiento, pero establecerlo demasiado alto puede provocar errores de memoria insuficiente (OOM). |
No |
1024 |