복붙노트

[HADOOP] GCP에 R 스튜디오 서버 프로와 하이브 w / B 연결

HADOOP

GCP에 R 스튜디오 서버 프로와 하이브 w / B 연결

이것은 프로그래밍 관련 질문이 아닌,이 날 참아주세요.

나는 현재 GCP에 두 개의 인스턴스를 설정 한 - 하나는 R 스튜디오 서버 PRO이고 다른 하나는 하이브 DB 내 클러스터입니다. 내 rstudio 서버 프로와 하이브에 데이터베이스에 액세스하고 싶습니다. 모두 GCP에서 실행된다.

사람이 날 안내 주실 래요? (나는 rstudio 바탕 화면 ---> 하이브 연결을위한 또한 스파크 클러스터 내에서 rstudio 서버를 실행하기위한 기사를 보았다,하지만 난 모두 GCP에서 실행 DB를 하이브 Rstudio 서버 PRO를 연결해야 : O를)

해결법

  1. ==============================

    1.나중에 참조 : - Dataproc에서 R 스튜디오 -

    나중에 참조 : - Dataproc에서 R 스튜디오 -

    이 특정한 경우에, 나는 불꽃에 HiveDB에서 데이터를 밀고 동일한 클러스터 내에서 R 스튜디오 서버에 연결을 설정하기 위해 패키지를 sparklyr 사용하고 있습니다. 직접 하이브와 연결하고자하는 경우 당신은 또한, "하이브-R-JDBC"연결 상태를 확인 할 수 있습니다.

    GCP는 계산 엔진에 R 스튜디오 서버 PRO을 제공하지만, 효율적인 비용이되지 않습니다. 나는 약 8hrs 위해 그것을 사용했고, 약 $ 21 청구했다. 일주일에 당신이보고있는 오일> $ 100 I는 다음과 같이 당신을 도움이되기를 바랍니다 :

    R 스튜디오 포트 8787.에 당신은 당신의 방화벽 네트워크 규칙에이 포트를 추가해야합니다 실행됩니다. 당신의 GCP에 햄버거 아이콘을 통해 스크롤 VPC 네트워크 아래로 스크롤, 방화벽 규칙을 클릭 8787. 추가 그것은 이후에 다음과 같이한다

    귀하의 요구 사항과 위치를 기반으로 통해 Dataproc 클러스터를 설정합니다. 그리고 하나의 브라우저 창에 SSH 또는 gcloud 명령 줄 불구하고 실행합니다. 그냥 그 메시지는 클라우드 쉘에서 실행할 때 enter 키를 누릅니다.

    당신이 창 / gcloud 명령 줄에서 일단, R 서버의 사용자를 추가 :

     sudo adduser rstudio 
    

    그것을위한 암호를 설정합니다. 기억해.

    다음으로 R 스튜디오 웹 사이트, 링크 이동 : https://dailies.rstudio.com/ 및 R 스튜디오 서버에 우분투를 클릭합니다. 링크 주소를 복사

    다시 창 / 명령 줄로 이동하여 설치합니다. 그래서 같은 sudo는 wget과 후 링크 주소를 붙여 넣기 :

    sudo wget https://s3.amazonaws.com/rstudio-ide-build/server/trusty/amd64/rstudio-server-1.2.650-amd64.deb
    

    그런 다음 실행 :

    sudo apt-get install gdebi-core
    

    다음 :이 위의 링크에서 R 버전입니다 있습니다.

    sudo gdebi rstudio-server-1.2.650-amd64.deb
    

    눌러 예 수락하면 메시지 R 서버 활성화 (실행)를 참조한다. 이제 GCP에 엔진 탭을 계산하고 마스터 클러스터 (첫 번째)의 외부 IP를 복사 이동합니다. 이제 새 브라우저를 열고 다음을 입력 :

    http://<yourexternalIPaddress>:8787 
    

    이것은 지금 "rstudio"로 사용되는 ID와 이전에 설정 한 비밀번호를 입력, R 스튜디오 서버를 열어야합니다. 지금 당신은 당신의 데이터 PROC 클러스터에서 R 스튜디오 서버 및 실행이 있습니다.

    ** 하이브 ** :

    터미널로 이동하고 입력

         beeline -u jdbc:hive2://localhost:10000/default -n *myusername*@*clustername-m* -d org.apache.hive.jdbc.HiveDriver  
    

    우리는 우리의 HDFS 즉 구글 클라우드 스토리지에서 하이브로 데이터를 가져올 것이다. 여기에서 우리는 단순히 우리의 하이브 테이블에 우리의 버킷에서 데이터를 복사합니다. 명령을 입력 :

     CREATE EXTERNAL TABLE <giveatablename>
        (location CHAR(1),
         dept CHAR(1),
         eid INT,
         emanager VARCHAR(6))
     ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
     LOCATION 'gs://<yourgooglestoragebucket>/<foldername>/<filename.csv>';
    

    지금 당신은 기능 하이브 yourtablename의 테이블이 -> 위치, 부서, 이드 및 eManager의 - 당신의 구글 클라우드 스토리지에 CSV 파일에서> -> GS : //

    이제 하이브 (CTRL + Z)에서 exit를 입력 :

        ln -s /etc/hive/conf/hive-site.xml /etc/spark/conf/hive-site.xml
    

    이 촉발하는 하이브의 구성 파일에 대한 링크입니다. 이 위치에 파일을 복사하는 것보다 이렇게하는 것이 좋습니다. 혼란이있을 수 있습니다.

    불꽃 :

    입력하여 스파크 쉘에 로그인 :

         spark-shell 
    

    이제 입력 :

        spark.catalog.listTables.show 
    

    당신의 HiveDb에서 테이블이인지 아닌지 확인하십시오.

    이제 Rstudio 서버 브라우저로 이동하여 다음 명령을 실행합니다 :

      library(sparklyr)
      library(dplyr)
      sparklyr::spark_install()
      #config
      Sys.setenv(SPARK_HOME="/usr/lib/spark")
      config <- spark_config()
      #connect
      sc <- spark_connect(master="yarn-client",config = config,version="2.2.1")
    

    이제 오른쪽에, 당신은 다음 환경에 "연결"이라는 새로운 탭을 볼 수 있습니다. 이것은 당신의 불꽃 클러스터 연결, 그것은 클릭하고는 하이브에서 yourtablename를 표시해야합니다.

  2. from https://stackoverflow.com/questions/50325464/connection-b-w-r-studio-server-pro-and-hive-on-gcp by cc-by-sa and MIT license