29/2/16

Funciones básicas de Teradata


Si ya has trabajado con oracle, pl/sql o algñun lenguaje base de datos parecida, te puedes defender más o menos en teradata. En este apartado vamos a ir viendo algunas funciones de Teradata que se diferencian de Oracle, pl/sql ...

Para realizar una consulta sobre una o varias tablas y evitar bloqueos en la misma, usaremos la siguiente sentencia:

- LOCKING ROWFOR ACCESS MODE NOWAIT Select * from tabla;

Por ejemplo el clásico NVL de oracle no existe como tal, pero tenemos la siguiente función:

La función que puede ser más semejante al NVL en teradata es la siguiente:
select COALESCE(null,1);
select COALESCE(3,1);

El primero caso retornaría un 1 y en elsegundo caso un 3.

Otra función que podemos destacar es:

- SELECT ZEROIFNULL(VAR);


Si queremos recuperar en una consulta un número concreto de registros, de esta forma recuperaríamos 100 registros solamente:

- SELECT top 100 * from tabla;



A la hora de trabajar en teradata con las fechas hay que tener mucho cuidado.

Un ejemplo para almacenar una fecha como decimal (o parte de una fecha):
extract(year from v_fecha) * 10000 + extract(month from v_fecha) * 100 + extract(day from v_fecha)

Es igual que hacer esta conversión:
 cast(v_fecha as int) + 19000000

A veces esto puede ser muy útil ya que el decimal ocupa menos espacio en base de datos que el varchar.

Iremos introduciendo poco a poco algunas funcionalidades de teradata.

Un saludo, muchas gracias

14/2/16

Comprimir / Descomprimir / Empaquetar / Desempaquetar


tar (tar)
Empaquetar
tar -cvf archivo.tar /archivo/mayo/*
Desempaquetar
tar -xvf archivo.tar
Ver el contenido (sin extraer)
tar -tvf archivo.tar

.tar.gz – .tar.z – .tgz (tar con gzip)
Empaquetar y comprimir
tar -czvf archivo.tar.gz /archivo/mayo/*
Desempaquetar y descomprimir
tar -xzvf archivo.tar.gz
Ver el contenido (sin extraer)
tar -tzvf archivo.tar.gz

.gz (gzip)
Comprimir
gzip -q archivo
(El archivo lo comprime y lo renombra como “
archivo.gz”)
Descomprimir
gzip -d archivo.gz
(El archivo lo descomprime y lo deja como “archivo”
Nota: gzip solo comprime archivos, no directorios

.bz2 (bzip2)
Comprimir
bzip2 archivo
bunzip2 archivo
(El archivo lo comprime y lo renombra como “
archivo.bz2”)
Descomprimir
bzip2 -d archivo.bz2
bunzip2
 archivo.bz2
(El archivo lo descomprime y lo deja como “archivo”)
Nota: bzip2 solo comprime archivos, no directorios

.tar.bz2 (tar con bzip2)
Comprimir
tar -c archivos | bzip2 > archivo.tar.bz2
Descomprimir
bzip2 -dc archivo.tar.bz2 | tar -xv
tar jvxf
 archivo.tar.bz2 (versiones recientes de tar)
Ver contenido
bzip2 -dc archivo.tar.bz2 | tar -tv

.zip (zip)
Comprimir
zip archivo.zip /mayo/archivos
Descomprimir
unzip archivo.zip
Ver contenido
unzip -v archivo.zip

.lha (lha)
Comprimir
lha archivo.lha /mayo/archivos
Descomprimir
lha -x archivo.lha
Ver contenido
lha -v archivo.lha
lha -l
 archivo.lha

.zoo (zoo)
Comprimir
zoo -a archivo.zoo /mayo/archivos
Descomprimir
zoo -x archivo.zoo
Ver contenido
zoo -v archivo.zoo
zoo -L
 archivo.zoo

.rar (rar)
Comprimir
rar a archivo.rar /mayo/archivos
Descomprimir
rar x archivo.rar
Ver contenido
rar -v archivo.rar
rar -l
 archivo.rar

UNIX trabajar con ficheros

Buenos días,  hoy vamos a presentar algunas utilidades de unix que nos pueden resultar muy útiles a la hora de trabajar con cargas ETL.


- Buscar cadenas en ficheros:


> grep -lri "INSERT INTO" **/ 


El parámetro -l le indica que imprima los nombres de archivos en los que se encuentre el texto solicitado. 
El parámetro -i, que ignore las mayúsculas y minúsculas. 
El parámetro -r, que busque en forma recursiva dentro de la ruta indicada.

 - Cuando queremos consultar alguna linea de un fichero:

sed -n '1088,1089p' nombre_fichero


Con esta sentencia listaríamos las lineas 1088 y 1089 de dicho fichero.

- Mostrar las primeras o las últimas lineas de un fichero:

> head – 20 nombre_fichero
> tail – 20 nombre_fichero

Con head listamos las primeras lineas y con tail las últimas, en este caso 20 lineas.