def process(self):
        df_datos_PIB_ine = PIBProcessor.spark.read.format("mongo").option(
            "uri", "mongodb://localhost/TFM_Jfernandez.PIB_INE").load()
        df_datos_PIB_ine.registerTempTable("PIB_INE")

        df_datos_PIB_ine_base = PIBProcessor.sql.sql('''
            SELECT Nombre as nombre_variable, 
                   Unidad.Nombre as unidad, 
                   Escala.Nombre as escala, 
                   datos.TipoDato.Nombre as povDef,
                   datos.Fecha as fecha_ini_periodo,
                   add_months(datos.Fecha,3) as fecha_fin_periodo,
                   datos.NombrePeriodo as Periodo,
                   datos.Valor as valor
            FROM PIB_INE  
                 LATERAL VIEW explode(Data) as datos
            ''')

        get_category_udf = udf(lambda x: self.getCategoryFromNombre(x),
                               StringType())
        get_subcategory_udf = udf(lambda x: self.getSubCategoryFromNombre(x),
                                  StringType())
        get_base_comparacion_udf = udf(lambda x: self.getBaseComparacion(x),
                                       StringType())

        split_col = split(df_datos_PIB_ine_base['nombre_variable'], '\\.')
        df_datos_PIB_ine_base = df_datos_PIB_ine_base.withColumn(
            'ambito', split_col.getItem(0))
        df_datos_PIB_ine_base = df_datos_PIB_ine_base.withColumn(
            'tipo_dato', split_col.getItem(1))
        df_datos_PIB_ine_base = df_datos_PIB_ine_base.withColumn(
            'categoria',
            get_category_udf(df_datos_PIB_ine_base.nombre_variable))
        df_datos_PIB_ine_base = df_datos_PIB_ine_base.withColumn(
            'subCategoria',
            get_subcategory_udf(df_datos_PIB_ine_base.nombre_variable))
        df_datos_PIB_ine_base = df_datos_PIB_ine_base.withColumn(
            'base_comparado',
            get_base_comparacion_udf(df_datos_PIB_ine_base.nombre_variable))

        columns_to_drop = ['nombre_variable']
        df_datos_PIB_ine_base = df_datos_PIB_ine_base\
            .select([column for column in df_datos_PIB_ine_base.columns if column not in columns_to_drop])\
            .where(df_datos_PIB_ine_base.tipo_dato == ' Datos ajustados de estacionalidad y calendario')

        df_datos_PIB_ine_base.show(20, False)

        SQLUtil.writeSparkDf(df_datos_PIB_ine_base, "datos_pib_ine", True)

        df_datos_PIB_ine_base.unpersist(blocking=True)
    def process(self):
        df_datos_pernoc_ine = PernoctacionesProcessor.spark.read.format(
            "mongo").option(
                "uri", "mongodb://localhost/TFM_Jfernandez.PERNOC_INE").load()
        df_datos_pernoc_ine.registerTempTable("PERNOC_INE")

        df_datos_pernoc_ine_base = PernoctacionesProcessor.sql.sql('''
        SELECT Nombre as nombre_variable, 
                Unidad.Nombre as unidad, 
                Escala.Nombre as escala, 
                datos.TipoDato.Nombre as tipoDato,
                datos.NombrePeriodo as Periodo,
                datos.Valor as valor
         FROM PERNOC_INE  
              LATERAL VIEW explode(Data) as datos
         WHERE datos.Anyo = 2020
         ''')

        split_col = split(df_datos_pernoc_ine_base['nombre_variable'], '\\.')
        df_datos_pernoc_ine_base = df_datos_pernoc_ine_base.withColumn(
            'region', split_col.getItem(0))
        df_datos_pernoc_ine_base = df_datos_pernoc_ine_base.withColumn(
            'origen_viajero', split_col.getItem(2))

        split_col = split(df_datos_pernoc_ine_base['Periodo'], 'M')
        df_datos_pernoc_ine_base = df_datos_pernoc_ine_base.withColumn(
            'anho',
            split_col.getItem(0).cast(IntegerType()))
        df_datos_pernoc_ine_base = df_datos_pernoc_ine_base.withColumn(
            'mes',
            split_col.getItem(1).cast(IntegerType()))

        columns_to_drop = ['nombre_variable', 'escala', 'Periodo']
        df_datos_pernoc_ine_base = df_datos_pernoc_ine_base.select([
            column for column in df_datos_pernoc_ine_base.columns
            if column not in columns_to_drop
        ])

        df_datos_pernoc_ine_base.show(20, False)
        SQLUtil.writeSparkDf(df_datos_pernoc_ine_base,
                             "datos_pernoctaciones_ine", True)

        df_datos_pernoc_ine_base.unpersist(blocking=True)
    def process(self):

        df_datos_empleo_ine = self.spark.read.format("mongo").option(
            "uri", "mongodb://localhost/TFM_Jfernandez.EMPLEO_INE").load()
        df_datos_empleo_ine.registerTempTable("EMPLEO_INE")

        df_datos_empleo_ine_base = self.sql.sql('''
             SELECT Nombre as nombre_variable, 
                    Unidad.Nombre as unidad, 
                    Escala.Nombre as escala, 
                    datos.TipoDato.Nombre as tipoDato,
                    datos.NombrePeriodo as Periodo,
                    datos.Valor as valor
             FROM EMPLEO_INE  
                  LATERAL VIEW explode(Data) as datos
             WHERE Nombre like '%Dato base%'
         ''')

        df_datos_empleo_ine_base.show(20, False)
        SQLUtil.writeSparkDf(df_datos_empleo_ine_base, "datos_empleo_ine",
                             True)
    def process(self):

        df_registro_defunciones = SQLUtil.readSparkDf(self.spark,
                                                      "registro_defunciones")
        df_comunidades_autonomas = SQLUtil.readSparkDf(
            self.spark, "comunidades_autonomas")
        df_mapeos = self.spark.read.load(self.mapeo_codigos,
                                         format="csv",
                                         sep=";",
                                         inferSchema="true",
                                         header="true")

        df_mapeos.head()

        df_mapeos.show(n=30)
        df_comunidades_autonomas.show(n=30)

        df_registro_defunciones.registerTempTable("registro_defunciones")
        df_comunidades_autonomas.registerTempTable("comunidades_autonomas")
        df_comunidades_autonomas\
                    .withColumn("latitud", df_comunidades_autonomas["latitud"].cast(FloatType()))\
                    .withColumn("longitud", df_comunidades_autonomas["longitud"].cast(FloatType()))
        df_mapeos.registerTempTable("mapeos")

        df_defunciones_con_coordenadas = self.sql.sql('''
        SELECT rd.*, ca.*
        FROM registro_defunciones rd
        JOIN mapeos map on rd.comunidad = map.nombre
        JOIN comunidades_autonomas ca on map.codigo = ca.codigo 
        ''')
        df_defunciones_con_coordenadas = df_defunciones_con_coordenadas.where(
            df_defunciones_con_coordenadas.fecha_defuncion >= self.fecha_corte)

        df_defunciones_con_coordenadas = df_defunciones_con_coordenadas\
            .withColumn("latitud", df_defunciones_con_coordenadas["latitud"].cast(FloatType()))\
            .withColumn("longitud", df_defunciones_con_coordenadas["longitud"].cast(FloatType()))

        SQLUtil.writeSparkDf(df_defunciones_con_coordenadas,
                             "registro_defunciones", True)
        df_registro_defunciones.unpersist(blocking=True)
 def load(self):
     from common.SQLUtil import SQLUtil
     SQLUtil.pandasToTable(self.cotizaciones,'cotizaciones_empresas')
 def __init__(self):
     '''
     Constructor
     '''
     self.empresasCotizacion = SQLUtil.tableToPandas('empresas_cotizacion')
Пример #7
0
    def load(self):
        from common.SQLUtil import SQLUtil

        SQLUtil.pandasToTable(self.data_recuperados, 'covid_19_recuperados')
        SQLUtil.pandasToTable(self.data_fallecidos, 'covid_19_fallecidos')
        SQLUtil.pandasToTable(self.data_confirmados, 'covid_19_confirmados')
 def load(self):
     from common.SQLUtil import SQLUtil
     SQLUtil.pandasToTable(self.data_datos_diarios,
                           'datos_diarios_calidad_aire')
     SQLUtil.pandasToTable(self.data_estaciones_control,
                           'estaciones_control')
 def process(self):
     
     df_lecturas = SQLUtil.readSparkDf(self.spark, "calidad_aire") 
     SQLUtil.writeSparkDf(df_lecturas, "calidad_aire", True)
     df_lecturas.unpersist(blocking=True)
 def process(self):
     df_madrid_calle30 = SQLUtil.readSparkDf(self.spark, MadridCalle30DataProcessor.TABLA_TRAFICO_MC30)
     df_madrid_calle30 = df_madrid_calle30.where(df_madrid_calle30.Fecha >= self.fecha_corte)
     SQLUtil.writeSparkDf(df_madrid_calle30, MadridCalle30DataProcessor.TABLA_TRAFICO_MC30, True)
     df_madrid_calle30.unpersist(blocking=True)
 def load(self):
     from common.SQLUtil import SQLUtil
     SQLUtil.pandasToTable(self.df, 'defunciones_momo')
 def load(self):
     from common.SQLUtil import SQLUtil
     SQLUtil.pandasToTable(self.dataframe,'trafico_calle_30_madrid')
Пример #13
0
 def process(self):
     df_cotizaciones = SQLUtil.readSparkDf(self.spark, IBEX35DataProcessor.IBEX35_data_table)  
     SQLUtil.writeSparkDf(df_cotizaciones, "cotizaciones", True)
     df_cotizaciones.unpersist(blocking=True)
 def load(self):
     from common.SQLUtil import SQLUtil
     SQLUtil.pandasToTable(self.dataframe,'comunidades_autonomas')
Пример #15
0
 def process(self):
     df_datos_covid = SQLUtil.readSparkDf(
         self.spark, WorldCovidProcessor.datos_covid_table)
     SQLUtil.writeSparkDf(df_datos_covid,
                          WorldCovidProcessor.datos_covid_table, True)
     df_datos_covid.unpersist(blocking=True)