MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/R/library/OREbase/doc/man/de/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/R/library/OREbase/doc/man/de/ore.pull.Rd

%
% Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
%
\name{ore.pull}
\alias{ore.pull}
\alias{ore.pull,ANY-method}
\alias{ore.pull,list-method}
\alias{ore.pull,ore.date-method}
\alias{ore.pull,ore.factor-method}
\alias{ore.pull,ore.frame-method}
\alias{ore.pull,ore.integer-method}
\alias{ore.pull,ore.logical-method}
\alias{ore.pull,ore.raw-method}
\alias{ore.pull,ore.tblmatrix-method}
\alias{ore.pull,ore.vecmatrix-method}
\alias{ore.pull,ore.vector-method}
\alias{ore.push}
\alias{ore.push,ANY-method}
\alias{ore.push,data.frame-method}
\alias{ore.push,Date-method}
\alias{ore.push,difftime-method}
\alias{ore.push,matrix-method}
\alias{ore.push,POSIXt-method}
\alias{ore.push,vector-method}
\title{
Oracle R Enterprise - Datenaustauschfunktionen
}
\description{
Überträgt Daten per Pull oder Push zwischen einer \R-Session und einem Oracle R Enterprise-
  Schema.
}
\usage{
ore.pull(x, ...)
ore.push(x, ...)
}
\arguments{
  \item{x}{
Für Funktion \code{ore.pull}, \code{\linkS4class{ore}} Objekte. Für
    Funktion \code{ore.push}, \code{vector}, \code{data.frame},
    \code{matrix} oder \code{list} Objekte.
}
  \item{\dots}{
Zur zukünftigen Erweiterung.
}
}



\details{
Mit den Funktionen \code{ore.push} und \code{ore.pull} werden Daten in einem
  Oracle R Enterprise-Schema abgelegt bzw. daraus abgerufen.
  Folgende In-Memory-Zuordnungen zwischen \R-Objekten und \code{\linkS4class{ore}}-Objekten
  werden unterstützt:
  \itemize{
    \item \code{logical} wird zugeordnet zu \code{\linkS4class{ore.logical}}
    \item \code{integer} wird zugeordnet zu \code{\linkS4class{ore.integer}}
    \item \code{numeric} wird zugeordnet zu \code{\linkS4class{ore.numeric}}
    \item \code{character} wird zugeordnet zu \code{\linkS4class{ore.character}}
    \item \code{factor} wird zugeordnet zu \code{\linkS4class{ore.factor}}
    \item \code{raw} wird zugeordnet zu \code{\linkS4class{ore.raw}}
    \item \code{Date} wird zugeordnet zu \code{\linkS4class{ore.date}}
    \item \code{POSIXt} wird zugeordnet zu \code{\linkS4class{ore.datetime}}
    \item \code{difftime} wird zugeordnet zu \code{\linkS4class{ore.difftime}},
    \item \code{data.frame} mit Spalten des Typs \code{logical},
          \code{integer}, \code{numeric}, \code{character},
          \code{factor}, Liste mit \code{raw}, \code{Date}, \code{POSIXct}, 
          \code{difftime} wird zugeordnet zu \code{\linkS4class{ore.frame}} 
          mit den entsprechenden Spalten eines bestimmten Typs
  }
  Neben den oben genannten Zuordnungen wird für Funktion \code{ore.push}, sofern die
  Eingabe ein \code{list}-Objekt ist, \code{ore.push} rekursiv auf jedes Element
  angewendet. Dabei werden die Listenelemente vor dem Speichern
  in der Datenbank serialisiert. Das Argument \code{envAsEmptyenv} in \code{\dots}
  ist ein logischer Wert, der angibt, ob referenzierte Umgebungen
  in den zu speichernden Listenelementobjekten bei der Serialisierung durch
  eine leere Umgebung ersetzt werden sollen. Für \code{TRUE} wird die referenzierte
  Umgebung mit einer leeren Umgebung ersetzt, deren übergeordnetes Element
  \code{.GlobalEnv} ist. Daher wird der Content in der referenzierten Umgebung
  nicht serialisiert und nicht in der Datenbank gespeichert. In einigen
  Fällen kann dadurch die Größe der gespeicherten Objekte erheblich
  verringert werden. Für \code{FALSE} wird der Content in der referenzierten Umgebung
  serialisiert und gespeichert und kann durch Aufruf von
  \code{ore.pull} deserialisiert und in den Arbeitsspeicher geladen werden. Der Standardwert
  wird von der globalen Option \code{ore.envAsEmptyenv} gesteuert.
  Bei in der obigen Tabelle genannten In-Memory-\R-Typen werden über die Funktion \code{ore.push}
  Objekte erstellt, die die Sortierung der Vektorelemente oder Dataset-Zeilen
  des ursprünglichen Datenobjekts beibehalten. Bei allen anderen Datentypen wird
  das Verhalten von \code{ore.push} nicht angegeben.
  Attribut \code{ora.type} kann für die Angabe der Zuordnung der \R-Typen 
  \code{character} und \code{factor} zu \code{CLOB} und 
  des \R-Typs \code{raw} zu \code{BLOB} verwendet werden. \code{ora.type} übernimmt den Zeichenkettenwert 
  \code{"clob"} bzw. \code{"blob"} in diesen beiden Fällen.
}

\value{
Funktion \code{ore.pull} gibt ein speicherresidentes \R-Objekt zurück, das die
  entsprechenden speicherresidenten Daten enthält.
  Funktion \code{ore.push} gibt ein \code{\linkS4class{ore}}-Objekt
  des geeigneten Typs zurück.
}
\references{
  \href{http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/documentation/index.html}{Oracle R Enterprise}
}
\author{
  Oracle \email{oracle-r-enterprise@oracle.com}
}
\seealso{
  \code{\link{ore.ls}},
  \code{\linkS4class{ore.frame}},
  \code{\linkS4class{ore.matrix}},
  \code{\linkS4class{ore.vector}}
  \code{\link{ore.options}}  
}
\examples{
vec <- 1:10
oreVec <- ore.push(vec)
class(oreVec)
vec2 <- ore.pull(oreVec)
class(vec2)
oreVec3 <- ore.push(oreVec)
class(oreVec3)
vec
oreVec
vec2
oreVec3

IRIS <- ore.push(iris)
class(IRIS)
new.iris <- ore.pull(IRIS)
class(new.iris)
head(IRIS)
head(new.iris)

vraw <- raw(2000L)
oreRaw <- ore.push(vraw)
class(oreRaw)
new.vraw <- ore.pull(oreRaw)
class(new.vraw)
length(new.vraw)

vbraw <- raw(3000L)
attr(vbraw, "ora.type") <- "blob"
oreBRaw <- ore.push(vbraw)
class(oreBRaw)
new.vbraw <- ore.pull(oreBRaw)
class(new.vbraw)
length(new.vbraw)

attr(iris$Species, "ora.type") <- "clob"
iris$Species.raw <- lapply(iris$Species, 
                           function(x) charToRaw(as.character(x)))
attr(iris$Species.raw, "ora.type") <- "blob"
IRIS2 <- ore.push(iris)
class(IRIS2)
new.iris2 <- ore.pull(IRIS2)
class(new.iris2)
}
\keyword{data}
\keyword{database}
\keyword{ORE}

OHA YOOOO