Exemple #1
0
def trace_error(exctype, value, tb):
    obj_traceback = Traceback(tipo=exctype, valor=value, traceback=tb)
    dto_logger = Logger(txt_trace=tb,
                        fase_etl='',
                        nom_script='',
                        fec_proceso=Util.obt_fecha_actual(),
                        estatus='')
    dto_logger.fec_proceso = Util.obt_fecha_actual()
    dto_logger.txt_trace = tb

    obj_logger_txt = LoggerTxt(obj_traceback, dto_logger)
    obj_logger_txt.persiste()
Exemple #2
0
 def extrae(self):
     dao_anuncio = adminDao.AdministradorDao(daoCon.DaoEstadisticaAnuncio,
                                             self.dto_credenciales).dao
     detalle_de_anuncios = dao_anuncio.obten()
     detalle_de_anuncios['data_date_part'] = Util.obt_fecha_actual()
     self.anuncios = Util.pandas_a_spark(self.sql_context,
                                         detalle_de_anuncios)
     # Registro de funciones UDF
     self.sql_context.udf.register("excluye_carac_espec",
                                   lambda x: elimina_carac_especial(x))
     self.sql_context.udf.register("obt_nom_atributo",
                                   lambda x: obt_nom_atributo(x))
     self.sql_context.udf.register("obt_val_atributo",
                                   lambda x: obt_val_atributo(x))
Exemple #3
0
    def transforma(self):
        df_acciones = self.obten_acciones(self.anuncios)
        df_costo_de_acciones = self.obten_costo_por_accion(self.anuncios)

        self.acciones_y_costos_de_anuncios = df_acciones \
            .join(df_costo_de_acciones, (df_acciones.AD_ID == df_costo_de_acciones.AD_ID) &
                  (df_acciones.ATRIBUTO == df_costo_de_acciones.ATRIBUTO)) \
            .select(df_acciones.CAMPAIGN_ID,
                    df_acciones.AD_ID,
                    df_acciones.ATRIBUTO.alias('ACTION'),
                    df_acciones.VALOR.alias('VALUE'),
                    df_costo_de_acciones.VALOR.alias("COST_VALUE")).\
            withColumn('DATA_DATE_PART', lit(Util.obt_fecha_actual()))

        self.acciones_y_costos_de_anuncios.show()
Exemple #4
0
    def obten(self):
        fragmentos_desgloses = list()
        grupo_de_consultas = self.obten_grupo_de_consultas_curl()

        for nom_desglose, consulta_desglose in grupo_de_consultas:
            json_desglose = self.ejecuta_curl(consulta_desglose)
            dict_desglose = json.loads(json_desglose)
            if 'data' in dict_desglose:
                df_desglose = pd.DataFrame(dict_desglose['data'])
                df_desglose['nom_desglose'] = nom_desglose
                df_desglose['data_date_part'] = Util.obt_fecha_actual()
                fragmentos_desgloses.append(df_desglose)

        total_de_desgloses = pd.concat(fragmentos_desgloses, axis=0, ignore_index=True, sort=False)
        return total_de_desgloses
 def extrae(self):
     dao_anuncio = adminDao.AdministradorDao(daoCon.DAOAnuncio,
                                             self.dto_credenciales).dao
     self.anuncios = dao_anuncio.obten()
     self.anuncios['data_date_part'] = Util.obt_fecha_actual()
Exemple #6
0
    id_app='',
    id_pagina='',
    app_secreta='')

nom_archivo = Util.lee_fichero_campanias()
dao_conf_campania = adminDao.AdministradorDao(DaoProp.DaoExtraccionProp,
                                              nom_archivo, 'campania').dao
dict_columnas = dao_conf_campania.obten()

# Contador
contador = 0

for anuncio in grupo_de_anuncios.values.tolist():

    if contador == 4:
        nom_archivo = 'hist_anuncios_' + Util.obt_fecha_actual() + '.csv'
        print(nom_archivo)
        dfrm_total_anuncios = union_de_drfms_pandas(gpo_anunc_con_detalle)
        df_sp_total_anuncios = Util.pandas_a_spark(sql_context,
                                                   dfrm_total_anuncios)
        df_sp_total_anuncios.withColumnRenamed("WEBSITE_CTR", "SITIOWEB_CTR")
        df_sp_total_anuncios.coalesce(1).write.format(
            'com.databricks.spark.csv').save(nom_archivo, header='true')

        Util.carga(df_sp_total_anuncios)
        os.system("tail -n +5 total_anuncios.csv >> "
                  "total_anuncios2.csv && rm total_anuncios.csv "
                  "&& mv total_anuncios2.csv total_anuncios.csv")

        print("Finalizo el proceso...")
        sys.exit(0)
 def concentra_todos_anuncios(self, grupo_campanias):
     df_total_campanias = pd.concat(grupo_campanias,
                                    ignore_index=True,
                                    sort=True)
     df_total_campanias['data_date_part'] = Util.obt_fecha_actual()
     return df_total_campanias
 def extrae(self):
     dao_campania = adminDao.AdministradorDao(daoCon.DAOCampania,
                                              self.dto_credenciales).dao
     self.detalle_de_campanias = dao_campania.obten()
     self.detalle_de_campanias['data_date_part'] = Util.obt_fecha_actual()