Buscar este blog

jueves, 31 de marzo de 2022

Unificar 2 csv en UNO - linux

                       

                       

nombreFicheroAux="informe.csv"

nombreFichero="INFORME_"$FECHA_HORA_FICHERO

nombreFicheroIso=$nombreFichero".csv"

hdfs dfs -text  $RUTA_DESCARGA_FICHERO/* >> $nombreFicheroAux

(en RUTA_DESCARGA_FICHERO, se encuentra los datos que vamos a volcar en $nombreFicheroAux)

cat $RUTA_INFORME_CONSULTA"cabecera_marca.csv" tail +2 $nombreFicheroAux >> $nombreFichero


(Con el comando cat, cogemos la cabecera y la metemos en el $nombreFicheroAux junto con el "body(con los datos)")

iconv -f utf-8 -t iso-8859-1 $nombreFichero -o $nombreFicheroIso


Guardar este nombreFicheroIso en hdfs o aws s3.

miércoles, 30 de marzo de 2022

PIG LATIN

Eliminar los duplicados de un archivo en HDFS con PIG. 

informePig = LOAD $entradaInfUno USING PigStorage(';') as (CAMPO1:chararray,CAMPO2:chararray); 

informeSinDuplicados = DISTINCT informePig; 
store informeSinDuplicados INTO '$salidaInfUno' USING PigStorage(';'); 

 Importante las comillas en $salidaInfUno. 

 Para la llamada al PIG. 

 pig -param entradaInfUno=$rutaficherosentrada -param salidaInfUno=$rutaficherossalida -file $rutadelarchivopig 

 Eliminar los duplicados, y en el caso de existir varios, quedarnos con fecha mayor.

 informePig = LOAD $entradaInfDos USING PigStorage(';') as (CAMPO1:chararray,CAMPO2:chararray);; 

 informe = DISTINCT informePig; agrupados = group informe by (CAMPO1:chararray,CAMPO2:chararray); no meter la fecha. 

 res = foreach agrupados 
sorted = order informe BY fechaIni ASC; 
top = limit sorted 1; 
generate flatten(top); 
}; 

 store res INTO $salidaInfDos USING PigStorage(';');

martes, 5 de mayo de 2020

Datatable JQUERY

function datatableFactoryServer(table,rowclick,columnas,url_servicio,parametros_tabla,no_ejecutar){ url = url_servicio; tableConfig = { "language": { "processing": 'cargando', "sSearch": "Buscar:  ", "sEmptyTable": "No se encontraron resultados", "sLengthMenu": "Mostrados _MENU_ registros", "oPaginate": { "sFirst": "Primera Página", "sLast": "Última Página", "sNext": "Siguiente", "sPrevious": "Anterior" } }, "processing": true, "searching": false, "bInfo" : false, "bPaginate": true, "bLengthChange": true, "serverSide": true, "ajax": { "url": "/ajax/"+url, "type": "GET", "data": function (data) { parametros_tabla(data) }//FUNCIÓN CALLBACK PARA CARGAR PARAMETROS }, "columns": columnas, "initComplete": function () {//OCULTAR BOTONES ACCION TABLA CUANDO NO HAY DATOS var api = this.api(); settings = api.settings(); if (settings && settings[0] && settings[0].aLengthMenu && settings[0].fnRecordsTotal && settings[0].fnRecordsTotal() == 0) { // Si no hay registros, ocultar los elementos de paginación $(settings[0].nTableWrapper).find('.dataTables_paginate, .dataTables_length, .dataTables_info').hide(); $("#" + id_tabla + " tbody tr").addClass("nop"); } }, //MANTENER EL ORDEN DE LAS COLUMNAS "stateSave": true, "iCookieDuration": 60*60*24, // 1 day "stateSaveParams": function (settings, data) { //No se guardan las columnas data.columns = null; } } //ELIMINAR LA LLAMADA A SERVIDOR CUANDO NO PROCEDA LA CARGA. EVITAR 1 CARGA AUTOMÁTICA if (typeof no_ejecutar !== 'undefined' && no_ejecutar){ delete tableConfig.serverSide; delete tableConfig.ajax; } table = table.DataTable(tableConfig); $('div.dataTables_filter input').addClass('form-control'); $('div.dataTables_length select').addClass('form-control'); $("#" + id_tabla + " tbody").on( 'click', 'tr', function () { rowclick(table,this); //ACTIVAR CLIK EN FILA }); table.on( 'draw.dt', function () { date_convert();//FUNCIÓN PARA FORMATEAR FECHAS } ); return table; }

miércoles, 15 de enero de 2020

Comandos Linux

Modificación de ficheros y reinicio en entorno linux, despliegue de aplicaciones:: su - XXX -> cambiar usuario logado a XXX cd xxx -> acceder a carpeta xxx ls -> listar directorio vi configuration.php -> abrir el fichero configuration.php para editar (pulsar click derecho) :wq! guardar y salir del fichero editado v:q! salir sin guardar. sudo -u root /usr/bin/systemctl restart apache2  reiniciar apache2 ps -ef | grep httpd   comprobar que se ha reiniciado los servicios. ssh nombremaquina  conectarnos de una maquina a otra

jueves, 30 de mayo de 2019

Query para dividir un registro con fecha desde y hasta en tantos como meses ocupe

SELECT * MOD(CAST((TABLANUMEROSAUX.numero - 2) + MES_DESDE as numeric), 12) + 1 MES_FACTURAR, ANYO_DESDE + CEIL(CAST((MES_DESDE + TABLANUMEROSAUX.numero - 1) / 12 as numeric)) - 1 ANYO_FACTURAR FROM TABLA_CON_REGISTROS FAC JOIN TABLANUMEROSAUX on TABLANUMEROSAUX.numero <= (SELECT ((ANYO_HASTA - ANYO_DESDE) * 12) + MES_HASTA - MES_DESDE + 1) TABLA_CON_REGISTROS, TABLA CON LOS CAMPOS FECHA DESDE Y FECHA HASTA ENTRO OTROS. TABLANUMEROSAUX, TABLA CON CAMPO NUMERO, SECUENCIAL, 1 , 2,3,4,5,6,7,8...

domingo, 27 de enero de 2019

Instalar oracle 12c en docker

Buenas, siguiendo esta dirección:


oraclespin.com/2018/03/30/docker-installation-of-oracle-database-12c-on-mac/





docker pull absolutapps/oracle-12c-ee
docker run -d --name oracle-12cR1-ee -p 49160:22 -p 49161:1521 --privileged absolutapps/oracle-12c-ee
docker logs -f oracle-12cR1-ee
docker start oracle-12cR1-ee  (If not started)
docker exec -it oracle-12cR1-ee /bin/bash
echo $ORACLE_SID
sqlplus system/oracle@//localhost:1521/orcl

docker ps

jueves, 24 de enero de 2019

CONSULTAS INTERESANTES

/*CONSULTAS INTERESANTES**/
/*VER EL CONTADOR DE UN DETERMINADO CAMPO POR MES Y AÑO*/
select count (*) as contador,
  EXTRACT(MONTH FROM CREATION_TIME) as mes,
  EXTRACT(YEAR FROM CREATION_TIME) as anio
FROM USUARIO p
WHERE id>1 AND BORRADO=0
GROUP BY EXTRACT(YEAR FROM CREATION_TIME),EXTRACT(MONTH FROM CREATION_TIME)
ORDER BY anio,mes ASC;

GRANT SELECT, insert, update, delete ON ESQUEMA.XXX to R_ROL_LE;

/*CALCULAR EL VALOR MAXIMO DE UN CAMPO DE LAS TABLAS INDICADAS**/
(SELECT MAX(ID1)+1 FROM (
      SELECT MAX(ID) "ID1" FROM  USUARIO
       UNION
       SELECT MAX(ID) FROM  UNIDADFISICA))
     
/**Crear tablespace de datos e indices**/
CREATE TABLESPACE DATOS_xxx datafile 'xxx_datafile.dbf' size 20M AUTOEXTEND ON;
CREATE TABLESPACE IDEX_xxx datafile 'xxx_index_datafile.dbf' size 20M AUTOEXTEND ON;



/**1) Recuperar fechas superiores a 17/02/2003 sin contar los fines de semanas.*/

select fecha
from (
select distinct trunc(CREATION_TIME) fecha
from USUARIO
  where trunc(CREATION_TIME) > to_date('17/02/2007','dd/mm/yyyy')
  and to_number(to_char(CREATION_TIME,'d')) < 6
  order by trunc(CREATION_TIME) desc
)


/**2)Sumar 5 días a la fecha dada.**/

select to_date(sysdate)+5 from dual;

/*devolver en un campo valores de 3 campos**/
SELECT O.*,'NOMBRE-' || to_char(CAL.GRUPO)||to_char('-')||SUBSTR(TO_CHAR(CAL.ANO),3)||
                     CASE WHEN LENGTH(TO_CHAR(CAL.CODCALIDAD)) < 2
          THEN '00'||TO_CHAR(CAL.CODCALIDAD)     
          END ||
       CASE WHEN LENGTH(TO_CHAR(CAL.CODCALIDAD)) >1 AND LENGTH(TO_CHAR(CAL.CODCALIDAD))<3 p="">      "     THEN '0'||TO_CHAR(CAL.CODCALIDAD)        
        END|| "+
        CASE WHEN LENGTH(TO_CHAR(CAL.CODCALIDAD)) >2
          THEN TO_CHAR(CAL.CODCALIDAD)       
        END
AS CERTIFICADO FROM T  o
JOIN L t on o.codl=t.codl
JOIN PO a on t.costact=a.id
JOIN G cal on cal.IDG=a.id
WHERE o.coddar IN (?1) 
    AND t.fecha between  ?2 and ?3
    ORDER BY t.fecha asc,o.orden2 asc,o.orden asc
                       
Si queremos saber cuales son las sentencias a ejecutar para poner a disabled nuestras constraint, ejecuta:
select 'ALTER TABLE '||substr(c.table_name,1,35)|| ' DISABLE CONSTRAINT '||constraint_name||';'
 from user_constraints c, user_tables u where c.table_name = u.table_name;

 Si queremos saber cuales son las sentencias a ejecutar para poner a enabled nuestras constraint, ejecuta:
select 'ALTER TABLE '||substr(c.table_name,1,35)|| ' ENABLE CONSTRAINT '||constraint_name||' ;' from user_constraints c, user_tables u where c.table_name = u.table_name;

/*Con la que obtendremos la tabla y el número de registros de dicha tabla.**/
SELECT * FROM ( SELECT TABLE_NAME, to_number( extractvalue( xmltype( dbms_xmlgen.getxml('select count(*) c from '||TABLE_NAME)) ,'/ROWSET/ROW/C'))
COUNT FROM user_tables ORDER BY TABLE_NAME ) c ORDER BY COUNT

Hay un parámetro que te dice cuado hay que hacer un rebuild, después de hacer muxos insert en una tabla.
Blevel, si un índice compruebo este parámetro si es mayor que 4 hacer rebuild
Select Blevel from user_indexes

 EXEC  dbms_stats.gather_table_stats ('AA','USUARIO')