Blog Archives

SparkException: Can only zip RDDs with same number of elements in each partition

Imaginemos que tenemos el siguiente problema para resolver mediante PySpark:

Partimos de dos ficheros de texto, fichero1.txt y fichero2.txt con el siguiente formato:

read more

Posted in Comandos Tagged with: , ,

Python Anaconda, crear un entorno diferente para las librerias mkl.

Cuando usamos la distribución de python de Anaconda tenemos acceso a una gran cantidad de librerías de cálculo científico que ya vienen instaladas directamente.

read more

Posted in Tutoriales Tagged with: , , , ,

inline profile en python

1. Profile inline

Las herramientas que tenemos para analizar los tiempos  de ejecución (profile) en Python, como puede ser cprofile sólo miden el tiempo empleado en llamar a una determinada función en total. Eso es algo que puede ser un buen punto de partida para localizar los cuellos de botella en un programa muy grande, pero insuficientes si intentamos encontrar una línea concreta que es la causa del retraso, por ejemplo cuando esa línea es una llamada a un función en numpy.

read more

Posted in Tutoriales Tagged with: , , , ,

Converting a timestamp between windows and unix

Timestamp origins:

When it’s necessary represent a date, operating systems save a number in seconds since a determinate moment in the time. So when we ask for a date, the operating system returns a number that represents the number of seconds from that date: A value that doesn’t vary in any part of the world where the operating system is installed. This is something really important if we want to save any type log (modification dates, accesses,…).

read more

Posted in Tutoriales Tagged with: , , ,

gestión de un Active Directory desde Python

Hace algún tiempo hablaba por aquí de como manejar ciertas operaciones de un Active Directory desde la línea de comandos. En concreto se trataba de operaciones dirigidas a controlar las cuentas de los usuarios: ver cuentas caducadas, avisar de la caducidad mediante un correo…

read more

Posted in Tutoriales Tagged with: , , ,

Convertir un timestamp en formato Windows o uno en formato Unix (y viceversa)

Orígenes del timestamp:

A la hora de representar las fechas los sistemas operativos lo que realmente guardan es un número de segundos (o parte de segundo) acumulados desde un determinado momento. Por lo que cuando pedimos una fecha al sistema operativo este nos devuelve un número que representa el número de segundos transcurridos desde esa fecha concreta. Un valor, y esto es clave, que no varía en ninguna parte del mundo en que se encuentre el sistema. Algo vital si queremos guardar un seguimiento de cualquier tipo (fechas de modificación, accesos…)

read more

Posted in Tutoriales Tagged with: , , ,

Convertir el juego de carácteres de un fichero / Converting character strings from a file

Introducción:

Cuando se escribe un fichero en formato texto (por ejemplo con el notepad) el sistema debe decidir como se codificarán los diversos carácteres del fichero (los números, los acentos, las letras…)

read more

Posted in Comandos Tagged with: , , , ,

Contar el número de ficheros en una estructura de directorios. Versión en python

El siguiente programa muestra como sacar el número de ficheros dentro de una estructura de directorios recorrida de forma recursiva.

La salida se muestra de forma compacta, mostrando el directorio en cuestión y el número de ficheros que hemos encontrado dentro. Se muestra la ruta completa y, claro, al ser recursivo va descendiendo por el árbol de directorios.

read more

Posted in Comandos, Trucos Tagged with: ,

Ejecutar un comando con pipe desde python y leer la salida

Desde python, como desde cualquier lenguaje de programación, podemos lanzar un comando externo al propio lenguaje de programación. Bien para cubrir algún aspecto que no provee el lenguaje o, la mayoría de las veces, para tapar nuestro desconocimiento del lenguaje.

read more

Posted in Trucos Tagged with: , , , ,

Asignar permisos a un directorio desde la línea de comandos (en Windows)

En los últimos años Microsoft, en sus sistemas para servidores, parece haberse dado cuenta que encadenar todo la administración a una interfaz gráfica plagada de opciones no es la mejor solución para automatizar las operaciones más comunes.

read more

Posted in Comandos, Trucos Tagged with: , , ,