Amazon SageMaker에서 Amazon EMR 및 RStudio 연결

Amazon SageMaker에서 Amazon EMR 및 RStudio 연결

Amazon SageMaker의 RStudio 업계 최초의 클라우드 기반 완전 관리형 RStudio Workbench 통합 개발 환경(IDE)입니다. 친숙한 RStudio IDE를 빠르게 시작하고 작업을 중단하지 않고 기본 컴퓨팅 리소스에 전화를 걸고 전화를 걸 수 있으므로 대규모로 R에서 기계 학습(ML) 및 분석 솔루션을 쉽게 구축할 수 있습니다.

SageMaker의 RStudio와 같은 도구와 함께 사용자는 데이터 과학 및 ML 워크플로의 일부로 대량의 데이터를 분석, 변환 및 준비하고 있습니다. 데이터 과학자와 데이터 엔지니어는 다음에서 실행되는 Apache Spark, Hive 및 Presto를 사용합니다. 아마존 EMR 대규모 데이터 처리를 위해. SageMaker에서 RStudio와 Amazon EMR을 함께 사용하면 더 큰 데이터 처리를 위해 Amazon EMR 관리형 클러스터를 사용하면서 분석 및 개발을 위해 RStudio IDE를 계속 사용할 수 있습니다.

이 게시물에서는 SageMaker 도메인의 RStudio를 EMR 클러스터와 연결하는 방법을 보여줍니다.

솔루션 개요

우리는 아파치 리비 제출 연결 반짝이 SageMaker의 RStudio에서 EMR 클러스터로 작업. 이는 다음 다이어그램에 설명되어 있습니다.

솔루션 범위
게시물에 설명된 모든 코드는 GitHub 저장소. 다음과 같은 솔루션 아키텍처를 구현합니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.

사전 조건

리소스를 배포하기 전에 SageMaker 및 Amazon EMR에서 RStudio를 설정하고 사용하기 위한 모든 요구 사항이 있는지 확인하십시오.

또한 SageMaker 이미지에 사용자 지정 RStudio를 구축하므로 Docker가 실행되고 필요한 모든 권한이 있는지 확인하십시오. 자세한 내용은 다음을 참조하십시오. 사용자 지정 이미지를 사용하여 Amazon SageMaker의 RStudio에 자체 개발 환경 가져오기.

AWS CloudFormation으로 리소스 생성

우리는 AWS 클라우드 포메이션 필요한 인프라를 생성하는 스택.

이미 RStudio 도메인과 기존 EMR 클러스터가 있는 경우 이 단계를 건너뛰고 사용자 지정 RStudio on SageMaker 이미지 구축을 시작할 수 있습니다. 이 섹션에서 생성한 EMR 클러스터 및 RStudio 도메인 대신 EMR 클러스터 및 RStudio 도메인의 정보를 대체합니다.

이 스택을 시작하면 다음 리소스가 생성됩니다.

  • 프라이빗 서브넷 XNUMX개
  • EMR 스파크 클러스터
  • AWS 접착제 데이터베이스와 테이블
  • RStudio가 포함된 SageMaker 도메인
  • SageMaker RStudio 사용자 프로필
  • SageMaker RStudio 도메인에 대한 IAM 서비스 역할
  • SageMaker RStudio 사용자 프로필에 대한 IAM 서비스 역할

리소스를 생성하려면 다음 단계를 완료하세요.

왼쪽 메뉴에서 발사 스택 스택을 생성합니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.

  1. 스택 생성 페이지에서 선택 다음 보기.
  2. 스택 세부 사항 지정 페이지에서 스택 이름을 제공하고 나머지 옵션은 기본값으로 둔 다음 다음 보기.
  3. 스택 옵션 구성 페이지에서 옵션을 기본값으로 두고 다음을 선택합니다. 다음 보기.
  4. 리뷰 페이지, 고르다
  5. AWS CloudFormation이 사용자 지정 이름으로 IAM 리소스를 생성 할 수 있음을 인정합니다
  6. AWS CloudFormation에 다음 기능이 필요할 수 있음을 인정합니다. CAPABILITY_AUTO_EXPAND.
  7. 왼쪽 메뉴에서 스택 생성.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.

템플릿은 XNUMX개의 스택을 생성합니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.

생성된 EMR Spark 클러스터를 보려면 Amazon EMR 콘솔로 이동하십시오. 라는 클러스터가 생성된 것을 볼 수 있습니다. sagemaker. 이것은 SageMaker에서 RStudio를 통해 연결하는 클러스터입니다.

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.

SageMaker 이미지에서 사용자 지정 RStudio 구축

sparklyr의 모든 종속성을 설치하고 생성한 EMR 클러스터에 대한 연결을 설정할 사용자 지정 이미지를 생성했습니다.

자체 EMR 클러스터 및 RStudio 도메인을 사용하는 경우 그에 따라 스크립트를 수정합니다.

Docker가 실행 중인지 확인하십시오. 프로젝트 리포지토리로 이동하여 시작하십시오.

cd sagemaker-rstudio-emr/sparklyr-image
./build-r-image.sh

이제 Docker 이미지를 빌드하고 SageMaker 도메인의 RStudio에 등록합니다.

  1. SageMaker 콘솔에서 도메인 탐색 창에서
  2. 도메인을 선택하세요 select rstudio-domain.
  3. 환경 탭에서 이미지를 첨부합니다.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
    이제 이전에 만든 sparklyr 이미지를 도메인에 연결합니다.
  4. 럭셔리 이미지 소스 선택, 고르다 기존 이미지.
  5. 우리가 만든 sparklyr 이미지를 선택합니다.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
  6. 럭셔리 이미지 속성, 옵션을 기본값으로 둡니다.
  7. 럭셔리 이미지 타입, 고르다 RStudio 이미지.
  8. 왼쪽 메뉴에서 문의하기.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
    이미지가 도메인에 추가되었는지 확인합니다. 이미지가 완전히 첨부되는 데 몇 분 정도 걸릴 수 있습니다.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
  9. 사용 가능한 경우 다음을 사용하여 SageMaker 콘솔의 RStudio에 로그인합니다. rstudio-user 생성된 프로필입니다.
  10. 여기에서 이전에 생성한 sparklyr 이미지로 세션을 생성합니다.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
    먼저 EMR 클러스터에 연결해야 합니다.
  11. 연결 창에서 다음을 선택합니다. 새로운 연결.
  12. EMR 클러스터 연결 코드 조각을 선택하고 다음을 선택합니다. Amazon EMR 클러스터에 연결.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
    연결 코드가 실행된 후 Livy를 통한 Spark 연결이 표시되지만 테이블은 표시되지 않습니다.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
  13. 데이터베이스를 다음으로 변경 credit_card:
    tbl_change_db(sc, “credit_card”)
  14. 왼쪽 메뉴에서 연결 데이터 새로 고침.
    이제 테이블을 볼 수 있습니다.
    Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
  15. 이제 rstudio-sparklyr-code-walkthrough.md 파일.

여기에는 모델링을 준비하기 위해 신용 카드 데이터 세트에서 사용할 수 있는 일련의 Spark 변환이 있습니다. 다음 코드는 발췌한 것입니다.

의하자 count() 트랜잭션 테이블에 얼마나 많은 트랜잭션이 있는지. 하지만 먼저 캐싱해야 합니다. tbl() 기능.

users_tbl <- tbl(sc, "users")
cards_tbl <- tbl(sc, "cards")
transactions_tbl <- tbl(sc, "transactions")

각 테이블의 행 수를 세어 보겠습니다.

count(users_tbl)
count(cards_tbl)
count(transactions_tbl)

이제 테이블을 Spark 데이터 프레임으로 등록하고 더 나은 성능을 위해 클러스터 전체의 메모리 캐시로 가져옵니다. 또한 각 테이블의 첫 번째 행에 배치되는 헤더를 필터링합니다.

users_tbl <- tbl(sc, 'users') %>% filter(gender != 'Gender')
sdf_register(users_tbl, "users_spark")
tbl_cache(sc, 'users_spark')
users_sdf <- tbl(sc, 'users_spark') cards_tbl <- tbl(sc, 'cards') %>% filter(expire_date != 'Expires')
sdf_register(cards_tbl, "cards_spark")
tbl_cache(sc, 'cards_spark')
cards_sdf <- tbl(sc, 'cards_spark') transactions_tbl <- tbl(sc, 'transactions') %>% filter(amount != 'Amount')
sdf_register(transactions_tbl, "transactions_spark")
tbl_cache(sc, 'transactions_spark')
transactions_sdf <- tbl(sc, 'transactions_spark')

명령의 전체 목록을 보려면 다음을 참조하십시오. rstudio-sparklyr-code-walkthrough.md 파일.

정리

반복 비용 발생을 방지하기 위해 리소스를 정리하려면 루트 CloudFormation 템플릿을 삭제하십시오. 모두 삭제 아마존 엘라스틱 파일 서비스 (Amazon EFS) 생성된 마운트 및 모든 아마존 단순 스토리지 서비스 (Amazon S3) 버킷 및 객체가 생성되었습니다.

결론

SageMaker의 RStudio와 Amazon EMR의 통합은 클라우드에서 데이터 분석 및 모델링 작업을 위한 강력한 솔루션을 제공합니다. SageMaker에서 RStudio를 연결하고 EMR에서 Spark에 대한 Livy 연결을 설정하면 두 플랫폼의 컴퓨팅 리소스를 모두 활용하여 대규모 데이터 세트를 효율적으로 처리할 수 있습니다. 데이터 분석을 위해 가장 널리 사용되는 IDE 중 하나인 RStudio를 사용하면 SageMaker의 완전 관리형 인프라, 액세스 제어, 네트워킹 및 보안 기능을 활용할 수 있습니다. 한편, Amazon EMR의 Spark에 대한 Livy 연결은 데이터 처리 작업의 분산 처리 및 확장을 수행하는 방법을 제공합니다.

이러한 도구를 함께 사용하는 방법에 대해 자세히 알아보려면 이 게시물을 시작점으로 삼으십시오. 자세한 내용은 다음을 참조하십시오. Amazon SageMaker의 RStudio. 제안 사항이나 기능 개선 사항이 있는 경우 GitHub 리포지토리에서 풀 요청을 생성하거나 이 게시물에 댓글을 남겨주세요!


저자에 관하여

Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.

라이언 가너 AWS Professional Services의 데이터 과학자입니다. 그는 AWS 고객이 R을 사용하여 데이터 과학 및 기계 학습 문제를 해결하도록 돕는 데 열정적입니다.


Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.
라지 파탁
 금융 서비스(보험, 은행, 자본 시장) 및 기계 학습을 전문으로 하는 선임 솔루션 설계자 및 기술자입니다. 그는 자연어 처리(NLP), 대규모 언어 모델(LLM) 및 기계 학습 인프라 및 운영 프로젝트(MLOps)를 전문으로 합니다.


Amazon SageMaker PlatoBlockchain 데이터 인텔리전스에서 Amazon EMR과 RStudio를 연결하세요. 수직 검색. 일체 포함.사이테자 푸디
 Tx 달라스에 본사를 둔 AWS의 솔루션 아키텍트입니다. 그는 현재 3년 이상 AWS에서 근무하면서 고객이 신뢰할 수 있는 조언자가 되어 AWS의 진정한 잠재력을 이끌어낼 수 있도록 돕고 있습니다. 그는 데이터 과학 및 기계 학습에 관심이 있는 응용 프로그램 개발 배경을 가지고 있습니다.

타임 스탬프 :

더보기 AWS 기계 학습