Databricks - wandent/mutual-wiki GitHub Wiki
[[TOC]]
- Azure Databricks Best Practices
- Integración con Key Vault y conexión con Data Lake
- Usar definición de schema en el codigo por rendimiento
- Workloads automatizados utilizar service principal para conexión con Azure DataLake Store
- Workloads de experimentación/data science pueden utilizar AAD Credential Passthrough
- Utilizar por defecto high concurrency clusters
- Monitorear rendimiento para ajusstar el tamaño de los clusters
- Elleción de la columna correcta para partición
- Compactación de archivos en Delta
- Mantenimiento de las tablas delta
- Conversión de archivos parquet en Delta
- Compactación de Tablas Delta
path = "..."
numFiles = 16
(spark.read
.format("delta")
.load(path)
.repartition(numFiles)
.write
.option("dataChange", "false")
.format("delta")
.mode("overwrite")
.save(path))
- Reparticionar tablas
path = "..."
partition = "year = '2019'"
numFilesPerPartition = 16
(spark.read
.format("delta")
.load(path)
.where(partition)
.repartition(numFilesPerPartition)
.write
.option("dataChange", "false")
.format("delta")
.mode("overwrite")
.option("replaceWhere", partition)
.save(path))
No usar como practicas:
- Usar datos de producción en los folders default de DBFS
- Inferred schema
- No mantener consistencia en los formatos de archivos