Leer y escribir en formato parquet en Python

Generar datos a utilizar para leer y escribir en formato Parquet Ejemplo de datos aleatorios para utilizar en los siguientes apartados data = [] for x in range(5): data.append((random.randint(0,9), random.randint(0,9))) df = spark.createDataFrame(data, (“label”, “data”)) df.show() +—–+—-+ |label|data| +—–+—-+ | 4| 0| | 7| 0| | 1| 1| | 3| 8| | 3| 5| +—–+—-+…

Autor: Diego Calvo

Read More »

Leer y escribir JSON en Python

Generar datos a utilizar para leer y escribir JSON Ejemplo de datos aleatorios para utilizar en los siguientes apartados data = [] for x in range(5): data.append((random.randint(0,9), random.randint(0,9))) df = spark.createDataFrame(data, (“label”, “data”)) df.show() +—–+—-+ |label|data| +—–+—-+ | 4| 0| | 7| 0| | 1| 1| | 3| 8| | 3| 5| +—–+—-+   Escribir…

Autor: Diego Calvo

Read More »

Fechas en Python

Crear fecha a partir de un String import pandas as pd startdate = “10/10/2018” my_date = pd.to_datetime(startdate) print(my_date.strftime(“%Y-%m-%d”)) 2018-10-10 Crear fecha actual import datetime my_date = datetime.datetime.now() print(my_date.strftime(“%Y-%m-%d”)) 2018-10-10 Incrementar días enddate = my_date + pd.DateOffset(days=5) print(enddate.strftime(“%Y-%m-%d”)) 2018-10-15 Reducir días enddate = my_date – pd.DateOffset(days=5) print(enddate.strftime(“%Y-%m-%d”)) 2018-10-05 Pasar fecha a numérico: Unit timestampo print(“Unix Timestamp:…

Autor: Diego Calvo

Read More »

Ejecución distribuida Spark para Python

Ejemplo “Hola mundo” Definir el script en Python a ejecutar Código del fichero hola_mundo.py from pyspark.sql import SparkSession spark = SparkSession.builder.appName(“Hola_Mundo”).getOrCreate() print(“Hola mundo”) spark.stop() Nota: Al ser un lenguaje interpretado no es necesario compilarlo para su ejecución.   Ejecución distribuida del script Para ejecutar de forma distribuida el script en python detro de un entorno…

Autor: Diego Calvo

Read More »

Ejemplo de Test Unitarios en Python

Definición Los test unitarios son pruebas que tiene que pasar el código para poder verificar su correcto funcionamiento. Se trata de un método para determinar si un módulo o un conjunto de módulos de código funciona correctamente. Ejemplo de fichero a evaluar (programa.py) #!/usr/bin/env python # -*- coding: utf-8 -*- def sum(a, b): return a…

Autor: Diego Calvo

Read More »

Matrices en Python

Declarar una Matriz import numpy as np matrix_aux = [[1,2,3], [4,5,6]] m = np.array(matrix_aux) l = np.zeros((3, 3)) print(l) [[ 0.  0.  0.]  [ 0.  0.  0.]  [ 0.  0.  0.]] l = np.ones([3,3]) print(l) [[ 1.  1.  1.]  [ 1.  1.  1.]  [ 1.  1.  1.]] l = np.diag([1,1,1]) print(l) [[1 0 0]  [0…

Autor: Diego Calvo

Read More »

Análisis clúster no Jerárquico K-means en Spark Python

from pyspark.ml import Pipeline from pyspark.ml.feature import VectorAssembler # Definir el ‘df’ Spark a utilizar df = spark.createDataFrame([     (‘line_1’, 100, 10, 1),     (‘line_2’, 200, 20, 2),     (‘line_3’, 300, 30, 2),     (‘line_4’, 300, 30, 3),     (‘line_5’, 200, 20, 1),     (‘line_6’, 100, 10, 1) ],  (“label”, “x1”, “x2”, “x3”)) # Definir…

Read More »

Uso de Tuberias (Pipelines) en Apache Spark en Python

Ejemplo de concatenación de tuberías (pipelines) Muestra un ejemplo de como se van incluyendo elementos a una tubería de tal forma que finalmente todos confluyan en un mismo punto, al que llamáramos “features” from pyspark.ml import Pipeline from pyspark.ml.feature import VectorAssembler # Definir el df Spark a utilizar df = spark.createDataFrame([     (‘line_1’, 1, 2,…

Autor: Diego Calvo

Read More »

Arbol de Decisión en Apache Spark con Python

Cargar datos # Cargar un dataframe df = sqlContext.read.format(“com.databricks.spark.csv”).options(delimiter=’\t’,header=’true’,inferschema=’true’).load(“/databricks-datasets/power-plant/data”) display(df) AT V AP RH PE 14.96 41.76 1024.07 73.17 463.26 25.18 62.96 1020.04 59.08 444.37 5.11 39.4 1012.16 92.14 488.56 20.86 57.32 1010.24 76.64 446.48   Generar conjunto de entrenamiento y test #Definir una semilla seed = 1800009193L # Generar un grupo de entrenamiento y…

Read More »