CRAN
La Comprehensive R Archive Network (CRAN) es una red de servidores de todo el mundo que ' storeR distribuciones, extensiones, documentación y binarios. La mayoría de los servidores espejo están alojados en universidades de todo el mundo, lo que crea una comunidad activa de código abierto. El repositorio es muy utilizado por la comunidad R, debido al gran número de paquetes complementarios, que suelen estar disponibles bajo licencia GPL. Los usuarios pueden aprovechar el repositorio CRAN y descargar los paquetes elegidos, aunque deben tener en cuenta que estos paquetes son completamente externos a Netezza.
Los paquetes CRAN pueden instalarse en Netezza. El paquete Netezza R library proporciona herramientas para instalar y gestionar paquetes CRAN.
nzInstallPackages, nzIsPackageInstalled
nzConnectDSN('NetezzaSQL')
nzInstallPackages("http://cran.r-project.org/src/contrib/bitops_1.0-4.1.tar.gz")
#Host:
#Installing: /nz/export/ae/workspace/nz/r_ae/bitops_1.0-4.1.tar.gz
#* installing to library '/nz/export/ae/languages/r/2.10/host/lib64/R/library'
#* installing *source* package 'bitops' ...
#** libs
#/nz/export/ae/sysroot/host/bin/i686-rhel4-linux-gnu-gcc -std=gnu99
#-I/nz/export/ae/languages/r/2.10/host/lib64/R/include -m32 -fpic -m32 -c
#bit-ops.c -o bit-ops.o
#/nz/export/ae/sysroot/host/bin/i686-rhel4-linux-gnu-gcc -std=gnu99
#-I/nz/export/ae/languages/r/2.10/host/lib64/R/include -m32 -fpic -m32 -c
#cksum.c -o cksum.o
#/nz/export/ae/sysroot/host/bin/i686-rhel4-linux-gnu-gcc -std=gnu99 -shared
#-m32 -L/nz/export/ae/sysroot/host/lib -L/nz/export/ae/sysroot/host/usr/lib
#-L/nz/export/ae/sysroot/host/lib -o bitops.so bit-ops.o cksum.o
#-L/nz/export/ae/languages/r/2.10/host/lib64/R/lib -
lR #** R
#** preparing package for lazy loading
#** help
#*** installing help indices
#** building package indices ...
#* DONE (bitops)
#SPUs:
#Installing: /nz/export/ae/workspace/nz/r_ae/bitops_1.0-4.1.tar.gz
#test: ==: binary operator expected
#test: ==: binary operator expected
#* installing to library /nz/export/ae/languages/r/2.10/spu/lib64/R/library #*
installing *source* package bitops ...
#** libs
#gcc -std=gnu99 -I/nz/export/ae/languages/r/2.10/spu/lib64/R/include -m32
#-fpic -m32 -c bit-ops.c -o bit-ops.o
#gcc -std=gnu99 -I/nz/export/ae/languages/r/2.10/spu/lib64/R/include -m32
#-fpic -m32 -c cksum.c -o cksum.o
#gcc -std=gnu99 -shared -m32 -L/nz/export/ae/sysroot/spu/lib
#-L/nz/export/ae/sysroot/spu/usr/lib -liconv -o bitops.so bit-ops.o cksum.o
#-L/nz/export/ae/languages/r/2.10/spu/lib64/R/lib -
lR #** R
#** preparing package for lazy loading
#** help
#*** installing help indices
#** building package indices ...
#* DONE (bitops)
To verify package installation, use nzIsPackageInstalled().
nzIsPackageInstalled(bitops)
# host spus
# TRUE TRUE
nzIsPackageInstalled(RODBC)
# host spus
# TRUE FALSEDetalles
- Si el valor del parámetro ' pkg ' empieza por '
http://, se supone que es una dirección web. A continuación, el paquete se descarga de la URL especificada y se envía a Netezza. - Si el valor del parámetro ' pkg ' es un archivo local, se envía a Netezza.
TRUE. Si el paquete no se encuentra en las ubicaciones especificadas, el valor de retorno es ' FALSE.nzInstallPackages(pkg, installOnSpus = TRUE)
nzIsPackageInstalled(package)Donde:- paquete
- Especifica la ruta del archivo local o una dirección web; las direcciones web deben empezar porhttp://
- installOnSpus
- Opcional. Cuando '
FALSE, el paquete no está instalado en las SPU. - paquete
- Especifica el nombre del paquete que debe comprobarse.
gam ', que se descarga de CRAN, se utiliza para construir un modelo GAM en el cliente. A continuación, este modelo se carga en el servidor y se aplica en la base de datos a los registros de una tabla Netezza. Este paquete se instala y se carga tanto en Netezza como en los equipos cliente, y se utiliza para construir el modelo " model1. La función " pred ", que utiliza este paquete, se aplica en el sistema Netezza a un " nz.data.frame.nzInstallPackages("http://cran.r-project.org/src/contrib/akima_0.5-4.tar.gz")
#(... output log from installation omitted for clarity)
nzInstallPackages("http://cran.r-project.org/src/contrib/gam_1.04.tar.gz")
#(... output log from installation omitted for clarity)
install.packages("gam")
library(gam)
library(nzr)
nzConnect("user","password","tt4-r040","nza")
#
# model is build in R locally on the client
#
model1 = gam(Sepal.Length~Petal.Length+Petal.Width, iris, family=gaussian)
nzIris = nz.data.frame("iris")
pred <- function(x, model1) {
require(gam)
predict(model1, data.frame(Petal.Length=as.numeric(x[[2]]),
Petal.Width=as.numeric(x[[3]])))
}
#
# then the model is applied to all rows in the database
#
nzApply(nzIris, FUN=pred, model1=model1)