def obt_datos_conx(nom_seccion): ruta = (os.path.dirname(os.path.abspath(__file__))).replace( '/util', '/configuracion') nom_archivo = obt_ruta(ruta, 'conexion.properties') dao_conf = AdminDao.AdministradorDao(DaoProp.DaoExtraccionProp, nom_archivo, nom_seccion).dao return dao_conf.obten()
def extrae(self): dao_http_campanias = adminDao.AdministradorDao( daoCon.DaoHttpCampania, self.dto_credenciales).dao campanias_en_crudo = dao_http_campanias.obten_campanias() self.listado_de_campanias = self.dfrm_a_lista_de_objetos( campanias_en_crudo) for i in self.listado_de_campanias: print(i)
def limpieza_de_anuncios(self): txt_anuncios = Util.lee_fichero_de_configuracion( nom_fichero='anuncios.properties') dao_extrac_prop = adminDao.AdministradorDao(DaoProp.DaoExtraccionProp, txt_anuncios, 'estadistica_anuncios').dao dict_prop_anuncios = dao_extrac_prop.obten() anuncios = Util.pandas_a_spark(self.sql_context, self.anuncios) anuncios.registerTempTable('anuncios') return self.sql_context.sql( "select " + str(dict_prop_anuncios['atributos_estadisticos']) + ' from anuncios')
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))
def transforma(self): grupo_campanias = list() for campania in self.listado_de_campanias: dao_campania = adminDao.AdministradorDao(daoCon.DaoCampania, campania, self.dto_credenciales).dao info_campania = dao_campania.obten_info_campania() grupo_campanias.append(info_campania) df_total_campanias = self.concentra_todos_anuncios(grupo_campanias) self.df_sp_campanias = Util.pandas_a_spark(self.sql_context, df_total_campanias) self.df_sp_campanias.show()
def limpia_detalle_de_campanias(self): txt_conf_campanias = Util.lee_fichero_de_configuracion( nom_fichero='campanias.properties') dao_extrac_prop = adminDao.AdministradorDao(DaoProp.DaoExtraccionProp, txt_conf_campanias, 'campania').dao dict_conf_campanias = dao_extrac_prop.obten() campanias = Util.pandas_a_spark(self.sql_context, self.detalle_de_campanias) campanias.registerTempTable('campanias') return self.sql_context.sql("select " + str(dict_conf_campanias['atributos']) + ' from campanias')
def persiste(self): ruta = "/u01/app/oracle/tools/home/oracle/facebook_marketing/Ingesta_insumo/" nom_fichero_log = ruta + "logs/log_facebook_" + Util.obt_cadena_fecha_actual( ) + '.log' with adminDao.AdministradorDeFicheros(nom_fichero_log, 'a+') as fichero: fichero.write( '***************************************************\n') fichero.write('Nombre_script:' + str(self.dto_logger.nom_script) + '\n') fichero.write('Fase_etl: ' + str(self.dto_logger.fase_etl) + '\n') fichero.write('Seccion_etl: ' + str(self.dto_logger.estatus) + '\n') fichero.write('Fec_proceso: ' + str(self.dto_logger.fec_proceso) + '\n') fichero.write('Trace: ' + str(self.dto_logger.txt_trace) + '\n') fichero.write('Valor: ' + str(self.obj_traceback.valor) + '\n') fichero.write('Tipo: ' + str(self.obj_traceback.tipo) + '\n')
def obten_prop_de_desglose(self): txt_desglose = Util.lee_fichero_de_desglose() dao_conf_desglose = adminDao.AdministradorDao(DaoProp.DaoExtraccionProp, txt_desglose, 'desglose_generico').dao return dao_conf_desglose
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()
gpo_anunc_con_detalle = list() dto_credenciales = Dto.DtoCredenciales( id_cuenta='act_804059193122922', token_de_acceso='EAAFqYKPZBGTwBAESZB1MgH3tnZCBt0Ny4LRQ8OhbL' 'sEgXvW7hDddhlHsHUqnrlu3KDlIII7qPgr501HZCJQQuZBK8z' 'vMQegVrBiTB1IILpOI1YYMLd8b5dp25ZCvd7yNZAukSioGZCyH' 'ADl4XE331SRUSZB275Dgav9uXpqfTtMLlbwZDZD', id_usuario='', 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(
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()