Azure Data Lake를 시도했습니다.

9237 단어 DataLakeAzure
2015년 12월 4일, 우리는 Azure Data Lake를 미리 보려고 시도했다.
지금 Preview라서 신청제인 것 같아요.신청 일주일 정도 만에 Approved 메일을 받았어요.

Azure Data Lake란 무엇입니까?


그럼 이거Azure Data Lake.어떤 서비스인가요?
발표와 서비스 내용만 보면 잘 이해가 안 되니까 해봐요...
게시와 사이트 정보만 읽으면
Hadoop 기반 서비스에서 데이터 Lake Store(HDFS)에 저장된 데이터를 YARN을 통해 분석층의 데이터 Lake Analytics 도구(U-SQL)로 활용한다.또한 분석 대상은 HDFS뿐만 아니라 SQL Server의 데이터 등도 원활하게 제어할 수 있습니다!
이런 설명.
  • SQL을 사용할 수 있기 때문에 SQL on Hadoop의 일종?
  • HDFS 이외에도 Presto와 같은 느낌에 액세스할 수 있기 때문일까요?
  • 근데 YARN Hive on Tez를 경유하는 느낌이라서?
  • 이런 인상.
    저는 개인적으로 Presto, Impala, Drill 등 실시간 시스템 SQL(대화성 있음)을 기대하고 있습니다.
    하지만 결론부터 말하자면 다른 것 같다.
    이미지적으로 말하자면
    Hive on Tez(U-SQL on MS 엔진)
    의 총체.실시간 시스템이 아니라는 얘기다.
    즉, 데이터 레이크에서의 처리
    Preparing -> Queued -> Running -> Succeeded(Error)
    의 변환, 그러나 매우 간단한 처리(Hive는 10초 정도의 처리)가 런닝까지 1분 정도 걸리기 때문에 이른바 실시간(인터랙티브)계의 처리용이 아니다.
    이렇게 되면 실시간 시스템으로 사용할 수 있겠지 SQL Data Warehouse.
    아니면, PolyBase 실시간 SQL on Hadoop인가요?

    시험적으로 사용하다


    그래도 한번 해 봅시다.

    준비

  • Azure 계정 얻기
  • Data Lake Preview 신청(2015년 12월 4일 현재)
  • 요금 체계


    시도할 때 요금 체계에 신경을 많이 쓴다.
    데이터 레이크에서 Analytics와 Store는 서로 다른 요금 체계이다.
    Analytics는 Google BigQuery와 마찬가지로 조회당 얼마인지 (약간 다르지만)

    Analytics


    비용
    처리 시간과 정상적인 작업 완료 수 x Parallerism 수의 느낌.
  • 1.74엔/분
  • 퀘스트(정상)2.55엔
  • 완성
  • 다음으로 병렬 처리 수
  • 20분 병렬 처리 시 20para×10min×1.74=348엔 +2.55=350.55엔
    반값 미리보기?그런 것 같아요. 이번 시험 예산은 2000엔 정도죠.
    1 병렬 10분 처리 비용은 5 병렬 2분이 끝날 때의 비용과 같다.
    그냥 계정을 유지하면 요금을 받지 않을 것 같습니다.

    Store


    상점은 데이터 요금과 거래 수의 요금인 것 같다.
  • 4.08엔/GB/월
  • 7.14엔/100만 거래 기록
  • 그런 것 같습니다.1T 바이트 4080엔을 모으다.1일 1000개 거래x30=3000개 거래면 100만 건 이하는 7엔이죠.

    데이터 Lake Analytics 계정 만들기


    데이터 Lake 서비스의 입구는 데이터 Lake Analytics 계정을 만드는 것입니다.
    Store에서 Analytics 계정을 만들면 표준적으로 데이터 Lake Store도 만듭니다.

    제작을 수행하면 5분 정도 준비됩니다.HDInsight는 20분 정도 소요되며 매우 빠르게 느껴집니다.

    리소스를 볼 때 분석 및 스토리지 서비스가 생성되었습니다.

    데이터 로드


    분석 대상 데이터의 기본 구상은 데이터 Lake Store나 BLOB 등의 데이터를 활용하는 것입니다.여기서 학습용 표준으로 준비한 테스트 데이터를 복제(생성)해 보세요.
    생성된 Analytics 서비스를 선택하고 Learn 프로젝트의 Explore Sample jobs를 클릭하여 표시되는 Sample Jobs 창에서 복사...?버튼을 클릭하여 대화 상자를 닫습니다.그런 다음 표준 데이터 Lake Store에서 몇 가지 예제 데이터를 생성합니다.

    데이터 브라우저에서 생성된 데이터를 볼 수 있습니다.
    여기서 SearchLog.tsv를 사용합니다.

    자신의 데이터를 분석하려면 업로드를 사용할 수 있습니다.

    분석(U-SQL 실행)


    그러면 데이터의 준비도 끝났으니 분석(조회의 집행)을 해 보세요.
    U-SQL을 사용하여 분석합니다.
    그런 다음 U-SQL 설명, 실행
  • Azure 포털 네트워크 콘솔
  • Visual Studio의 U-SQL 프로젝트
  • 에서 설명한 대로 해당 매개변수의 값을 수정합니다.
    대결이 번거롭기 때문에 여기서 웹 콘솔에서 실행해 보세요.
    또한 U-SQL에 대해서는 여기 기사를 참조하십시오.이번에도 이 각본의 일부분을 발췌하여 사용하였다.
    분석 페이지에서 새 작업을 선택합니다.

    새 U-SQL 작업 화면이 열리고 콘솔에서 스크립트가 작성됩니다.

    작업 제출을 눌러 작업을 수행합니다.
    한 마디로 하면 스크립트는 다음과 같다.
    
    //tsvを高構造化してロードする
    @searchlog =
        EXTRACT UserId          int,
                Start           DateTime,
                Region          string,
                Query           string,
                Duration        int?,
                Urls            string,
                ClickedUrls     string
        FROM "/Samples/Data/SearchLog.tsv"
        USING Extractors.Tsv();
    
    //クエリ実行
    //fromで@searchlogとか指定できる(ステキ)
    @rs1 =
        SELECT Start, Region, Duration
        FROM @searchlog
    WHERE Region == "en-gb";
    
    //outputの指定
    OUTPUT @rs1   
        TO "/output/SearchLog-transform-rowsets.csv"
        USING Outputters.Csv();
    
    대시보드나 작업 세부 정보 화면에서 작업 상태를 볼 수 있습니다.
    STATE의 위치는 진행 상황에 따라 달라집니다.

    실행 결과


    처리 속도


    분석 객체인 SerchLog.tsv는 23줄 탭으로 텍스트를 구분하지만 2분 8초가 걸립니다.처음에 쓴 바와 같이 처리는 Preparing->Queued->Running까지 진행되는데 그 중에서 Preparing과Queued는 1분 정도 걸리기 때문에 실제 처리 속도는 이 정도의 처리에서는 잘 알 수 없다.

    하지만 아무리 사소하게 처리해도 최소 앞당기기까지는 1~2분이 걸리는 실정이다.
    대개 사용 장면으로 2시간의 처리는 10분의 상황이지만 시작까지의 절대 시간은 1분 이상으로 엄격하다...본원의 하이브도 수초니까.

    처리 결과


    작업 세부 정보에서 처리 결과를 볼 수 있습니다.결과를 확인할 수 있을 뿐만 아니라 입력 파일의 상황도 확인할 수 있다.

    배율 조정


    처리가 느린 것은 처음이기 때문입니까?이런 생각도 들었기 때문에 테스트로 다음 두 가지를 수행해 봤습니다.
  • 원래의 구조로 한 번 더 던진다
  • Max20에서 Parallelism
  • 실행 시도

    작업을 실행할 때 슬라이더를 통해 병렬 수를 변경할 수 있습니다.
    내 예약에서 Max는 20(변경 가능)으로 제한된 것 같습니다.

    결과


    결론적으로 말하자면 전혀 변화가 없다.Pallarelism을 늘리면 조달에 시간이 걸리기 때문에 조금 느려집니다.그러나 같은 조회라도 편차가 있다.

    참조 정보


    실제로 이 글을 쓰기 전에 같은 스크립트로 똑같은 크기를 조정하고 시도할 때 일반적인 실행은 8분이 걸린다?!,Parallelism이 증가함에 따라 처리 시간이 2분으로 줄어드는 경향이 있지만 결과는 아무런 상관이 없는 것 같다.
    자주 사용하는 예약 할당 CPU 출력 등의 처리가 뒤에서 이루어진 결과인지 8분의 처리가 2분으로 단축된 느낌이 든다.

    데이터 레이크 요약


    U-SQL을 사용할 수 있기 때문에 실시간 계통으로도 사용할 수 있는 SQL on Hadoop 중 하나로 기대되지만 2015년 12월 4일까지는 그렇지 않은 것 같습니다.
    그럼 HDInsight의 Hive와 SparkSQL이면 되겠죠?이런 인상이 없는 것은 아니다.
    한편, U-SQL의 학습 비용은 매우 낮고 C#의 문법의 일부분을 채택하여 익숙해지기 쉽다고 느낀다.
    아직 Preview이기 때문에 정식 발매가 기대됩니다.
  • DataLake(U-SQL)는 실시간 시스템의 SQL on Hadoop이 아닙니다.
  • 모든 프로세스에서 응답에 최소 2분이 소요됩니다.
  • U-SQL은 현대적이고 기억하기 쉽습니다.
  • 실시간 시스템은 SQL 데이터 웨어하우스를 사용합니다.
  • 앞으로가 기대된다.
  • 참고 자료


    일반 HDInsight 및 Spark를 사용하려면 다음 사항을 참조하십시오.
  • Linux에서 HDInsight 시도
  • HDInsight에서 Spark 사용
  • 좋은 웹페이지 즐겨찾기