コード例 #1
0
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()
コード例 #2
0
 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)
コード例 #3
0
    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')
コード例 #4
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))
コード例 #5
0
    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()
コード例 #6
0
    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')
コード例 #7
0
 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')
コード例 #8
0
 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
コード例 #9
0
 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()
コード例 #10
0

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(
コード例 #11
0
 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()