RHive 문서 원본 보기
←
RHive
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
[[R]]과 [[Hive]]를 상호 연동하여 사용할 수 있도록 하는 R기반 분산처리 프레임워크 RHive를 정리 합니다. *홈페이지 : http://www.nexr.co.kr/product/rhive.jsp, http://github.com/nexr/RHive :*매뉴얼 : https://github.com/nexr/RHive/wiki/UserGuides :*위키 : http://github.com/nexr/RHive/wiki :*RHive CRAN : http://cran.r-project.org/web/packages/RHive *다운로드 : *라이선스 : [[Apache 2.0]] *플랫폼 : R ==RHive 개요== R에서 HiveQL을 사용할 수 있도록 함 ==CentOS에서 RHive 설치== ===사전 준비 사항=== *Hive 0.11.0 *Hadoop 1.1.2 (HDFS, MapReduce) *MySQL 5.1.69 *Git 1.7.1 *Ant 1.7.1 *Java 1.7.0_19 *CentOS 6.4, 64 bits ===설치=== *RHive 소스를 다운로드 하여 설치 합니다. git clone git://github.com/nexr/RHive.git chown -R root:root RHive *jar 파일을 생성 합니다. :*java 파일을 컴파일하기 위해서는 javac 가 필요 합니다. :*/usr/lib/jvm/ 폴더 아래에 설치된 java 중 javac가 있는 폴더를 JAVA_HOME으로 지정 합니다. export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64 cd RHive ant jar //--- rhive_udf.jar 파일이 생성 됩니다. *R Package 배포본을 생성 합니다. ant main-hive10 R CMD build ./RHive //--- RHive_1.0-0.1.tar.gz 파일이 생성 됩니다. *RHive 패키지 설치 R CMD INSTALL ./RHive_1.0-0.1.tar.gz //--- ERROR: dependencies ‘rJava’, ‘Rserve’ are not available for package ‘RHive’ 오류가 발생할 경우 //--- R에 rJava와 Rserve 패키지를 설치한 후 RHive도 같이 설치 합니다. R install.packages("rJava") //--- 47번 Korea를 선택 하세요. install.packages("Rserve") install.packages("./RHive_1.0-0.1.tar.gz", repos=NULL) q() //--- y를 선택하여 저장한 후 종료 합니다. ===Hadoop의 job node에 Rserve 설치=== RHive를 사용하기 위해서 [[Hadoop]]의 모든 job node에 Rserve를 설치 합니다. *[[CentOS#EPEL 설치|CentOS에 EPEL 설치]] *Rserve를 설치 합니다. :*http://www.rforge.net/Rserve/doc.html yum install R R-devel R install.packages("Rserve") q() vi /etc/Rserv.conf remote enable mkdir /tmp/rhive_data vi ~/.bashrc export RHIVE_DATA=/tmp/rhive_data *Rserve를 데몬으로 실행 합니다. R CMD Rserve //--- 서비스의 확인을 위해, Rserve가 LISTEN 하고 있는 port가 있는지 확인 합니다. //--- Default로 6311 port를 사용 합니다. netstat -nltp | grep Rserve ===RHive 실행=== *사전 필요 사항 :*MySQL 실행 :*Hadoop 실행 :*ZooKeeper 실행 :*Hive용 Thrift Server 실행 *R에서 환경 변수를 설정하고 실행 :*R Sys.setenv(HADOOP_HOME="/appl/hadoop") Sys.setenv(HADOOP_CONF_DIR="/appl/hadoop/conf") Sys.setenv(HIVE_HOME="/appl/hive") library(RHive) //rhive.init() rhive.env() //--- 환경 변수 설정 확인 rhive.connect(hdfsurl="hdfs://cloud001.cloudserver.com:9000/") q() *환경 변수를 설정한 후 R 실행 (사용하지 않음) vi ~/.bashrc export HADOOP_HOME=/appl/hadoop //--- HADOOP에서 지금은 지원하지 않는 예전 방식 export HIVE_HOME=/appl/hive R q() ==RHive 사용법== *rhive.connect() : Hive server와 연결, *rhive.list.tables() : Hive의 table 목록 보기 *rhive.query("SELECT COUNT(*) FROM usarrests") *rhive.hdfs.ls("/") : HDFS에서 / 위치에 있는 파일 목록 보기 *Hive 테이블 생성 1 tablename <- rhive.write.table(USArrests) rhive.desc.table("USArrests") *Hive 테이블 생성 2 (MASS package에 있는 데이터를 Hive의 테이블에 저장) library(MASS) tablename <- rhive.write.table(Aids2) rhive.desc.table(tablename) rhive.load.table(tablename) ==참고 문헌== *[[R]] *[[RStudio]] *[[Hive]] *https://github.com/nexr/RHive/wiki/UserGuides *RHive 튜토리얼 :*[http://www.slideshare.net/SeonghakHong/r-hive-tutorial-1-14445845 RHive 튜토리얼 1 - 설치 및 설정, 2012.09] :*[http://www.slideshare.net/SeonghakHong/rhive-tutorial-2-rhive-2 RHive 튜토리얼 2 - 기본 함수, 2012.09] :*[http://www.slideshare.net/SeonghakHong/rhive-tutorial-3-rhive-3-hdfs RHive 튜토리얼 3 - HDFS 함수, 2012.09] :*[http://www.slideshare.net/SeonghakHong/rhive-tutorial-4-rhive-4-udf-udtf-udaf?from_search=6 RHive 튜토리얼 4 - UDF, UDAF, UDTF 함수, 2012.09] :*[http://www.slideshare.net/SeonghakHong/rhive-tutorial-5-rhive-5-apply?from_search=7 RHive 튜토리얼 5 - apply 함수와 맵리듀스] *RHive 튜토리얼 부록 :*[http://www.slideshare.net/SeonghakHong/r-hive-tutorial-supplement-1rhive-tutorial-supplement-1-rhive-1-hadoop RHive 튜토리얼 부록 1 - Hadoop 설치, 2012.09] :*[http://www.slideshare.net/SeonghakHong/rhive-tutorial-supplement-2-rhive-2-hive RHive 튜토리얼 부록 2- Hive 설치, 2012.09] :*[http://www.slideshare.net/SeonghakHong/rhive-tutorial-supplement-3-rhive-3-rstudio RHive 튜토리얼 부록 3 - RStudio 설치, 2012.09] [[Category:BigData]]
RHive
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보