MINI MINI MANI MO
%
% 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 데이터 교환 함수
}
\description{
\R 세션과 Oracle R Enterprise 스키마 간에 데이터를 풀하거나
푸시합니다.
}
\usage{
ore.pull(x, ...)
ore.push(x, ...)
}
\arguments{
\item{x}{
\code{ore.pull} 함수의 경우 \code{\linkS4class{ore}} 객체입니다.
\code{ore.push} 함수의 경우 \code{vector}, \code{data.frame}, \code{matrix}
또는 \code{list} 객체입니다.
}
\item{\dots}{
나중에 확장용입니다.
}
}
\details{
\code{ore.push} 및 \code{ore.pull} 함수는 Oracle R Enterprise
스키마에서 데이터를 배치하거나 데이터를 검색합니다. 지원되는
인메모리 \R 객체-\code{\linkS4class{ore}} 객체 매핑은 다음과
같습니다.
\itemize{
\item \code{logical}이(가) \code{\linkS4class{ore.logical}}(으)로 매핑됨
\item \code{integer}이(가) \code{\linkS4class{ore.integer}}(으)로 매핑됨
\item \code{numeric}이(가) \code{\linkS4class{ore.numeric}}(으)로 매핑됨
\item \code{character}이(가) \code{\linkS4class{ore.character}}(으)로 매핑됨
\item \code{factor}이(가) \code{\linkS4class{ore.factor}}(으)로 매핑됨
\item \code{raw}이(가) \code{\linkS4class{ore.raw}}(으)로 매핑됨
\item \code{Date}이(가) \code{\linkS4class{ore.date}}(으)로 매핑됨
\item \code{POSIXt}이(가) \code{\linkS4class{ore.datetime}}(으)로 매핑됨
\item \code{difftime}이(가) \code{\linkS4class{ore.difftime}}(으)로 매핑됨
\item \code{data.frame},
\code{logical}, \code{integer}, \code{numeric},
\code{character} 유형의 열, \code{factor}, \code{raw}, \code{Date},
\code{POSIXct} 목록을 포함하는 \code{difftime}이(가) 적절하게
유형이 지정된 열을 포함하는 \code{\linkS4class{ore.frame}}(으)로 매핑됨
}
위 매핑 외에도, \code{ore.push} 함수의 경우 입력이
\code{list} 객체이면, \code{ore.push}이(가) 각 요소에 반복적으로
적용됩니다. 반면에 목록 요소는 데이터베이스에 저장되기 전에
직렬화됩니다. \code{envAsEmptyenv}의 \code{\dots} 인수는
저장할 목록 요소 객체의 참조 환경이
직렬화 중 비어 있는 환경으로 대체되어야 함을
나타내는 논리 값입니다. \code{TRUE}의 경우, 참조 환경은
해당 상위 항목이 \code{.GlobalEnv}인 비어 있는 환경으로
대체되므로, 참조 환경의 콘텐츠가 데이터베이스에 대해
직렬화되어 저장되지 않습니다. 일부
환경에서는 이로 인해 저장된 객체의 크기가 크게 줄어들 수
있습니다. \code{FALSE}의 경우에는 참조 환경의 콘텐츠가
직렬화되어 저장되며, \code{ore.pull}을(를) 호출할 때는 직렬화 해제되어
메모리에 로드될 수 있습니다. 기본값은
전역 옵션 \code{ore.envAsEmptyenv}에 의해 제어됩니다.
위 테이블에 나열된 인메모리 \R 유형의 경우 \code{ore.push}
함수가 원본 데이터 객체의 벡터 요소 또는 데이터 집합 행 순서를
유지하는 객체를 생성합니다. 다른 모든 데이터 유형의 경우
\code{ore.push}의 동작이 지정되지 않습니다.
\code{ora.type} 속성은 \R 유형 \code{character} 및 \code{factor}을(를)
\code{CLOB}(으)로 매핑 및 \R 유형 \code{raw}을(를)
\code{BLOB}(으)로 매핑을 지정하는 데 사용될 수 있습니다. \code{ora.type}은(는) 이러한 두 사례에 대해
문자열 값 \code{"clob"} 및 \code{"blob"}을(를) 각각 사용합니다.
}
\value{
\code{ore.pull} 함수는 적절한 인메모리 데이터를
포함하는 인메모리 \R 객체를 반환합니다.
\code{ore.push} 함수는 적절한 유형의 \code{\linkS4class{ore}}
객체를 반환합니다.
}
\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