Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 4 de 5
JDBC, ODBC y REST
JDBC/ODBC consultan sistemas tabulares; REST requiere paginación, límites y persistencia durable.
- Duración
- 17 min aprox.
- Objetivo
- JDBC/ODBC consultan sistemas tabulares; REST requiere paginación, límites y persistencia durable.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
Ingesta batch, formatos, COPY INTO, JDBC y REST
Elige una vía de entrada reproducible para archivos, bases de datos y APIs.
- Comparar cargas completas e incrementales
- Usar COPY INTO de forma idempotente
- Controlar formatos, compresión y metadatos de origen
04DiagnósticoJDBC, ODBC y REST
JDBC/ODBC consultan sistemas tabulares; REST requiere paginación, límites y persistencia durable.
+
JDBC, ODBC y REST
JDBC/ODBC consultan sistemas tabulares; REST requiere paginación, límites y persistencia durable.
Una lectura JDBC paralela necesita partitionColumn y bounds coherentes; demasiadas conexiones pueden dañar el origen.
Una API REST debe manejar rate limits, retries con backoff, tokens, paginación y checkpoints antes de publicar en UC.
Modelo mental
JDBC y ODBC presentan un modelo tabular de consulta; REST presenta recursos y respuestas paginadas bajo un contrato HTTP. En JDBC, la partición de lectura determina paralelismo y puede sobrecargar la base si se eligen demasiadas conexiones. Predicados y columnas deben empujarse cuando sea posible. En REST, cada página, cursor, límite de tasa, retry y error parcial forma parte del estado. Ninguna interfaz debe usarse como almacenamiento intermedio invisible: las respuestas se persisten durably antes o junto con su transformación. La autenticación se resuelve mediante secretos o conexiones gobernadas, y los logs nunca deben exponer tokens o datos sensibles.
Ejecución de proyecciones o filtros en el sistema fuente en lugar de transferir todos los datos.
Reduce red y carga Spark, aunque debe verificarse en el plan.Token opaco emitido por una API para continuar una secuencia paginada desde una posición.
Debe persistirse con el lote confirmado para reanudar sin huecos.Política del servicio que restringe solicitudes en una ventana y comunica cómo reintentar.
Obliga a diseñar backoff y throughput sin provocar bloqueos.df = (spark.read.format("jdbc")
.option("url", jdbc_url).option("dbtable", "orders")
.option("partitionColumn", "order_id").option("lowerBound", 1)
.option("upperBound", 1000000).option("numPartitions", 8).load())Los bounds dividen lectura, no filtran filas.
Puntos clave
- Protege el sistema fuente
- Persistencia antes de transformar
- Credenciales fuera del código
Evita
- Abrir cientos de conexiones
- Loggear tokens REST
Recuerdo activo