빅 데이터 제품 만 들 기: 샤 이 니 의 스파크 여행

4425 단어 shinysparkr
개술
저 는 'Shiny - SparkR' 의 응용 을 어떻게 개발 하고 배치 하 는 지 에 관심 이 많 습 니 다. 본 고 는 SparkR 을 어떻게 사용 하여 Shiny 응용 을 구동 하 는 지 보 여 드 리 겠 습 니 다.
SparkR 이 뭐야?
스파크 R 은 R 에 경량급 스파크 전단 을 제공 하 는 R 팩 이다.SparkR 은 분포 식 data frame 데이터 구 조 를 제공 하여 R 중의 data frame 이 단일 컴퓨터 에서 만 사용 할 수 있 는 병목 을 해결 했다. 이 는 R 중의 data frame 과 마찬가지 로 많은 조작 을 지원 한다. 예 를 들 어 select, filter, aggregate 등 이다.dplyr 가방 의 기능 과 유사) R 의 빅 데이터 급 병목 문 제 를 잘 해결 했다.SparkR 도 기계 학습 라 이브 러 리 사용 MLib 과 같은 분포 식 기계 학습 알고리즘 을 지원 한다.
샤 이 니 가 뭐야?
샤 이 니 는 R 을 사용 하여 웹 애플 리 케 이 션 을 구축 하 는 데 우아 하고 강력 한 웹 프레임 워 크 를 제공 하 는 오픈 소스 R 패키지 입 니 다.샤 이 니 는 전단 지식 이 필요 없 는 조건 에서 데이터 분석 을 상호작용 가능 한 웹 응용 으로 바 꾸 는 데 도움 을 준다.
용례
"왜 내 프로그램 을 SparkR 로 실행 해 야 합 니까?" 라 고 자신 에 게 물 을 수도 있 습 니 다.이것 은 도리 에 맞 는 질문 과 대답 이 므 로 우 리 는 서로 다른 유형의 빅 데이터 문 제 를 이해 해 야 한다.
빅 데이터 문제 의 분류
최근 레 딧 의 AMA 채널 에서 해 들 리 위 컴 (RStudio 수석 과학자) 은 '빅 데이터' 의 명확 한 정 의 를 그 렸 다.그의 견 해 는 우리 가 SparkR 과 Shiny 를 위해 용례 를 정의 하 는 데 도움 이 될 것 이다.
나 는 빅 데이터 문 제 는 세 가지 주요 유형 으로 분류 해 야 한다 고 생각한다.
  • 빅 데이터 소 분석: 데이터 과학자 들 은 특정한 업무 나 연구 문제 에 대해 큰 원시 데이터 세트 부터 데이터 절편 과 데이터 표본 을 추출 한다.대부분의 항목 에서 샘플링 결 과 는 작은 데이터 세트 이 고 이 항목 들 은 SparkR 로 Shiny 응용 을 구동 할 필요 가 없습니다.
  • 분 편 중합 분석: 데이터 과학 자 는 여러 대의 기계 에서 분포 식 으로 계산 해 야 한다.Wickham 은 이것 이 사소한 병행 화 문제 라 고 생각한다.하나의 예 는 대규모 계산 을 할 때 수천 명의 기계 에서 모든 기 계 를 위해 하나의 모형 을 만들어 야 한 다 는 것 이다.이런 상황 에서 스파크 R 은 좋 은 선택 이지 만 R foreach 등의 가방 으로 이 문 제 를 해결 할 수도 있다.
  • 대규모 데이터 분석: 데이터 과학자 들 은 빅 데 이 터 를 필요 로 하 는데 그들 이 복잡 한 모델 의 적합 을 처리 하고 있 기 때 문 일 것 이다.이런 문제 의 한 예 는 바로 추천 시스템 이다.사용자 의 희소 한 상호작용 을 포착 해 야 하기 때문에 추천 시스템 은 확실히 대량의 데이터 에서 이익 을 얻는다.샤 이 니 애플 리 케 이 션 을 개발 할 때 SparkR 은 이런 문 제 를 완벽 하 게 해결 할 수 있다.

  • 메모리 고려
    또한 이러한 프로그램 을 사용 하려 면 메모리 의 가용성 과 크기 를 고려 하 는 것 도 중요 하 다.이것 은 두 가지 다른 방식 으로 할 수 있다.
  • 실행 중인 응용 프로그램 서버 에 빅 데이터 수 요 를 만족 시 킬 충분 한 메모리 가 있다 면 SparkR 이 필요 하지 않 을 것 입 니 다.현재 Amazon AWS 와 같은 클 라 우 드 공급 자가 T 의 계산 메모 리 를 제공 하고 있다.
  • 만약 당신 의 빅 데 이 터 를 한 기계 에 설치 할 수 없다 면, 당신 은 몇 개의 기계 에 분배 해 야 할 수도 있 습 니 다.SparkR 은 이 문제 에 적합 합 니 다. 분포 식 알고리즘 을 제공 하기 때문에 서로 다른 노드 데 이 터 를 압축 하고 결 과 를 주 노드 에 되 돌려 줄 수 있 습 니 다.

  • 간단 한 예
    이러한 프로그램 이 어떻게 작 동 하 는 지 이해 하기 시 작 했 습 니 다. 먼저 이 간단 한 Shiny - SparkR 을 다운로드 하고 프로그램 을 실행 합 니 다.프로젝트 주소 디 렉 터 리 아래 “shiny-sparkr-demo-1” 에서 예 시 를 얻 을 수 있 습 니 다.
    준비 하 다.
  • Spark 1.5 이상 버 전 설치.
  • 자바 1.7 이상 버 전 을 설치 하고 환경 변 수 를 설정 합 니 다.

  • 프로그램 시작
    응용 폴 더 를 다운로드 하면 프로젝트 RStudio 를 열 고 “server.R” 파일 을 엽 니 다.
  • 환경 변수의 경 로 를 변경 하여 Spark 를 설치 하 는 위 치 를 가리 키 도록 합 니 다.
  • 프로그램 을 실행 합 니 다. 이 명령 SPARK_HOME 을 사용 하여 프로그램 을 실행 합 니 다.분석 결과 가 나 오기 전 까지 는 스파크 R 초기 화 에 시간 이 좀 걸 릴 것 으로 보인다.
  • 이것 은 shiny::runApp() 의 코드 입 니 다.
  • #       shiny 
    library(shiny)
    
    #         
    Sys.setenv(SPARK_HOME = "/home/emaasit/Desktop/Apache/spark-1.5.2")
    .libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))
    
    #   Sparkr 
    library(SparkR)
    
    #      Spark Context   SQL Context
    sc 

    결실
    첫 번 째 단계:
    이 프로그램 을 실행 하면 사용자 인터페이스 에 텍스트 렌 더 링 이나 모델 정리 데이터 가 없습니다.
    두 번 째 단계:
    이와 함께 컴퓨터 배경 에 있 는 노드 (s) 에서 자바 는 Spark - submit 로 파일 을 시작 한 다음 SparkR 라 이브 러 리 에 SparkR 을 불 러 와 초기 화 합 니 다.
    세 번 째 단계:
    그리고 SparkR 명령 은 “server.R” 코드 에서 실 행 됩 니 다. 마지막 으로 Shiny 프로그램 에 표 시 된 출력 입 니 다.localhost 의 4040 포트 에 접근 하면 Spark UI 를 사용 하여 작업 스케줄 의 진 도 를 검사 할 수 있 습 니 다.
    네 번 째 단계:
    응용 프로그램 에서 입력 값 을 수정 하고 "server.R" 단 추 를 누 르 면 이 응용 프로그램 은 입력 한 값 을 Spark Context 로 예측 함 수 를 실행 하고 예측 값 을 표시 합 니 다.샤 이 니 애플 리 케 이 션 을 초기 화 하 는 것 보다 짧 은 시간 이 필요 하 다.
    전망 하 다.
    이 예제 의 목적 은 SparkR 과 Shiny 의 사례 를 어떻게 배 우 는 지 설명 하 는 것 이다.무슨 일이 일어 날 지 보고 싶 으 면 최종 적 으로 컴퓨터 에 배치 하고 응용 프로그램 을 실행 해 야 합 니 다.
    만약 당신 이 이러한 응용 프로그램 을 만 들 었 다 면, 댓 글 에서 당신 의 생각 과 경험 아래 부분 을 공유 하 세 요.
    본 고 는 이미 원작 자: Daniel Emaasit 의 권한 을 수 여 받 았 고 HarryZhu 가 번역 했다.영문 원문 주소:http://blog.sparkiq-labs.com/2015/11/22/using-apache-sparkr-to-power-shiny-applications-part-i/
    공유 주의 자 (sharism) 로 서 본인 의 모든 인터넷 에서 발표 한 그림 과 글 은 CC 저작권 에 따라 작가 의 정 보 를 보류 하고 작가 Harry Zhu 의 Finance R 칼럼 을 밝 혀 주 십시오.https://segmentfault.com/blog/harryprince소스 코드 가 있 으 면 GitHub 주 소 를 입력 하 십시오.https://github.com/harryprince。마이크로 신호: harry zhustudio 비 즈 니스 사용 은 작가 에 게 연락 하 세 요.

    좋은 웹페이지 즐겨찾기