Ejemplo de scripts para crear particiones:
Un saludo, gracias.
20/6/17
30/5/17
Dataframes
Los dataframes son un tipo de datos en R que sirven para almacenar datos tabulares.
Se representa como un tipo especial de lista donde cada elemento de esta tiene la misma longitud.
La forma de tabular los dataframes nos puede recordar a una matriz, pero hay que tener en cuenta que una matriz es un tipo especial de vector, tiene la limitación de que todos los tipos que se encuentran en la matriz tienen que tener el mismo tipo. En cambio en un dataframe esto no es necesario, como es una especie de lista, cada columna puede tener un tipo distinto.
En los dataframe cada columna puede tener un nombre al igual que cada renglón row.name y col.name.
¿Como podemos crear un dataframe?
Se representa como un tipo especial de lista donde cada elemento de esta tiene la misma longitud.
La forma de tabular los dataframes nos puede recordar a una matriz, pero hay que tener en cuenta que una matriz es un tipo especial de vector, tiene la limitación de que todos los tipos que se encuentran en la matriz tienen que tener el mismo tipo. En cambio en un dataframe esto no es necesario, como es una especie de lista, cada columna puede tener un tipo distinto.
En los dataframe cada columna puede tener un nombre al igual que cada renglón row.name y col.name.
¿Como podemos crear un dataframe?
- data.frame()
- read.csv() De esta forma leeríamos de un fichero.
- read.table() De esta forma leeríamos de una tabla
Algunas sentencias que nos pueden ser útiles:
Podemos poner nombres a las listas, a los vectores, a las matrices a los dataframes ... pero este tema lo veremos en una nueva entrada próximamente.
Vectores en R
Podemos crear vectores en R de dos formas distintas, asignando directamente los valores a una variable con "c" delante o utilizando la palabra reservada vector:
Una de las diferencias es que al crearlo con la palabra reservada vecrtor, hay que indicarle el tipo de vector que va a ser y el tamaño.
Matrices
Las matrices en R no son más que un tipo de vector con un atributo especial dimensión., que indica el número de renglones (filas) y columnas.
Para crear una matriz utilizamos la palabra reservada matrix, indicamos las filas y columnas con nrow y ncol.
Para saber la dimensión de una matriz podemos utilizar dim() y sus atributos con attributes().
Hay que tener en cuenta que las matrices se rellenan por columnas y de izquierda a derecha, a diferencia de C que se hace linea a linea de izquierda a derecha. Esto es importante saberlo para cuando queramos volcar un vector a una matriz.
Existen las palabras reservadas cbind y rbind para crear una matriz partiendo de diferentes vectores, con cbind se colocará cada vector como columna y con rbind se colocara cada vector como fila.
Listas
Las listas en R son un tipo especial de vector que puede contener elementos de diferentes clases.
Una de las diferencias es que al crearlo con la palabra reservada vecrtor, hay que indicarle el tipo de vector que va a ser y el tamaño.
Matrices
Las matrices en R no son más que un tipo de vector con un atributo especial dimensión., que indica el número de renglones (filas) y columnas.
![]() |
| Creación de una matriz vacía |
Para crear una matriz utilizamos la palabra reservada matrix, indicamos las filas y columnas con nrow y ncol.
Para saber la dimensión de una matriz podemos utilizar dim() y sus atributos con attributes().
Hay que tener en cuenta que las matrices se rellenan por columnas y de izquierda a derecha, a diferencia de C que se hace linea a linea de izquierda a derecha. Esto es importante saberlo para cuando queramos volcar un vector a una matriz.
Existen las palabras reservadas cbind y rbind para crear una matriz partiendo de diferentes vectores, con cbind se colocará cada vector como columna y con rbind se colocara cada vector como fila.
Listas
Las listas en R son un tipo especial de vector que puede contener elementos de diferentes clases.
Introducción a R
R es un lenguaje de programación orientado al análisis estadístico. Destaca porque lo que mejor sabe hacer es analiza datos. Algunas ventajas de R:
Las típicas definiciones de R nos suelen explicar que es una implementación de software libre del lenguaje S pero con soporte de alcance estático. Se trata de uno de los lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy popular en el campo de la minería de datos, la investigación biomédica, la bioinformática y las matemáticas financieras. A esto contribuye la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo y gráficas.
R es parte del sistema GNU y se distribuye bajo la licencia GNU GPL. Está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux.
- R al estar orientado a las estadísticas, proporciona un amplio abanico de herramientas.
- Entre otras características de R, podemos nombrar su capacidad gráfica, que permite generar gráficos con alta calidad, con sólo utilizar las funciones de graficación.
- R también puede usarse como herramienta de cálculo numérico y a la vez ser útil para la minería de datos.
Las típicas definiciones de R nos suelen explicar que es una implementación de software libre del lenguaje S pero con soporte de alcance estático. Se trata de uno de los lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy popular en el campo de la minería de datos, la investigación biomédica, la bioinformática y las matemáticas financieras. A esto contribuye la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo y gráficas.
R es parte del sistema GNU y se distribuye bajo la licencia GNU GPL. Está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux.
Seguiremos ampliando esta entrada en los próximos días.
10/8/16
Tablas de auditoria de Teradata
Tabla
de auditoria para consultar las sentencias ejecutadas en teradata:
lock row access
select top
100 *
from dbc.dbqlogtbl
where cast(startTime as
date) = date
--and appId = 'bteq'
and clientid = 'NAME_DATA_BASE'
--and queryText like
'%UPDATE AHOIS_NEW%'
order by startTime
Tablas
y vistas por base de datos:
select *
from dbc.tables
where tablekind in
('V','T')
--and tablename like '%%'
and databasename = 'NAME_DATA_BASE';
Para
consultar el espacio total y el ocupado:
SELECT *
FROM dbc.diskSpace;
Podemos
comprobar el espacio de la base de datos agrupando de esta manera:
SELECT
SUM (currentperm)/1024/1014/1024 AS espacio_ocupado_GB
,SUM (MAXPERM)/1024/1014/1024 AS espacio_TOTAL_GB
, espacio_TOTAL_GB
- espacio_ocupado_GB AS espacio_libre_GB
, 100
* espacio_ocupado_GB /espacio_TOTAL_GB AS porcentaje
,databaseName
FROM dbc.diskSpace
WHERE TRIM(databaseName)
= 'NAME_DATA_BASE'
GROUP BY 5;
Espacio
que ocupa una tabla dela base de datos:
select
databasename
,tablename
, sum (currentPerm)
, sum (currentPerm)/1024/1024/1024 as currentPermGB
from
dbc.tablesize
where --tablename
like '%%' AND
TRIM(databaseName)
= 'NAME_DATA_BASE'
group by
1,2
order by currentPermGB
desc
Iremos actualizando esta entrada con mas tablas de auditorias proximamente.
13/7/16
Conexión desde UNIX a BBDD
Conexión a TERADTA
desde UNIX:
Ahora ejecutariamos: .logon 11.111.111.111/Esquema.
Nos pedirá la password:
Al introducir la password,
En este momento ya podríamos realizar una consulta o lanzar una bteq.
Para generar desde un fichero, lo haríamos de la siguiente forma:
.run
FILE=./drop_view.sql
Conexión a SQLPLUS desde
UNIX:
En este caso basta con ejecutar:
Ø
sqlplus IP_MAQUINA/password@esquema
30/5/16
Ahorrar espacio en Teradata
Vamos a ver algunos ejemplos de tipos de datos con los que podemos aprovechar espacio.
Punto importante puede ser el tipo de timestamp que
estamos guardando en una columna:
Es interesante tener en
cuenta la diferencia entre timestamp(6) y timestamp(0).
select CURRENT_TIMESTAMP(6)
|
25/05/2016 10:32:35.570000
|
select CURRENT_TIMESTAMP(0)
|
25/05/2016 10:32:35
|
Un ejemplo claro es una columna del tipo S / N, necesita 3 bytes como VARCHAR , pero sólo 1 byte como CHAR.
Podemos ver que en la
opción de timestamp(6) se esta almacenando también los milisegundos, rara vez
vamos a necesitar guardar dicho dato, por lo que si prescindimos de ellos
podemos ahorrar mucho espacio en base de datos.
Para pasar de timestamp(6) a timestamp(0)
Para pasar de timestamp(6) a timestamp(0)
CAST(CAST(FCH_REG_BBDD AS
DATE) AS
TIMESTAMP(0))
+ (CAST(FCH_REG_BBDD
AS TIME(6)) - TIME '00:00:00' HOUR TO SECOND)
Otro caso importante para ahorrar espacio en teradata puede
ser, a la hora de almacenar un carácter en una columna.
Nunca debes crear el
campo en teradata como varchar(1), siempre como char(1).
Un CHAR(n) necesita
exactamente n bytes (Latin) o n*2 (UNICODE) mientras que VARCHAR siempre
encesita 1 o 2 bytes para cada caracter almacenado, pero ademas necesita dos
bytes adicionales para una especie de cabecera, que indica la longitud total.
Nunca debes hacer VARCHAR(1) en Teradata.
... próximamente añadiremos mas opciones para ahorrar espacio...
Suscribirse a:
Entradas
(
Atom
)








