Core tana Intelligence Suite 구축(4차) - Azure Data Lake Analytics를 사용하여 빅데이터 조회 시도

배경


기존의 데이터 분석 세계에서 일반적으로 데이터 창고 등 가공(정의 모델) 상태의 데이터를 이용하여 입방체 등을 구축하는 절차를 이용하여 데이터 분석을 한다.최근 몇 년 동안 빅데이터를 처리하기 시작하면서 반드시 지정된 모델로 데이터 창고에 저축하는 방법이 아니라 매번 원시 데이터에서 좋아하는 데이터를 추출하는 방법도 생겼다.마이크로소프트 Azure는 Azure Data Lake, Azure HDInsight 등 서비스를 통해 후자의 방법을 제공했다.
이번에는 Azure Data Lake의 사용법과 독자적인 언어를 활용한 U-SQL을 분석하여 "핵심 통합 키트 구축(3차)"까지 구축하여 축적한 Azure BLOB에 저장된 데이터를 분석한다.

미리 준비한 물건

  • Azure 가입
  • Visual Studio2015 이후(모든 버전에서 사용 가능)
  • Azure SDKhttps://www.visualstudio.com/ja-jp/features/azure-tools-vs.aspx) 필요
  • Azure Data Lake Tools for Visual Studiohttps://www.microsoft.com/en-us/download/details.aspx?id=49504
  • 단계 설정


    Azure Data Lake Analytics 준비


    Azure Data Lake Analytics를 사용하기 위해서는 우선 Azure 포털에서 Azure Data Lake Analytics를 배치해야 한다.
  • 새로 만들기 > Intelligence + analytics > Data Lake Analytics 를 클릭합니다.
  • 각 항목을 기입한다.작성한 후 작성을 클릭합니다.
    현재 미국 동부 2 지역만 선택할 수 있습니다.
    가격 수준은 종량요금제이기 때문에 조회를 집행하는 부분만 요금을 받는다.
  • 배포를 시작합니다.약 1분에서 3분 후에 완성합니다.
    배포가 완료되면 다음 내용이 표시됩니다.
  • 기타 서비스 > 데이터 + 분석 > 데이터 Lake Analytics 를 클릭합니다.
  • (2)에 입력한 이름의 데이터 Lake Analytics를 클릭합니다.
  • 이제 Azure Data Lake Analytics가 준비되었습니다.
  • 분석 준비


    데이터 Lake Analytics를 사용하려면 U-SQL이라는 새로운 언어로 질의를 작성합니다.
    일반적으로 SQL 언어처럼 C#도 포함하는 강력한 쿼리 언어입니다.이곳은 그다지 상세하지 않지만, 나는 최소한의 장소까지 소개할 것이다.
    이번에는 JSON 형식의 원본 파일을 읽고 조회를 통해 요약된 파일을 SQL 데이터베이스에 기록합니다.그러나 Azure 포털 화면에서 작업하는 화면에서는 JSON 형식의 파일을 직접 읽을 수 없습니다.아깝다
    따라서 JSON을 처리하는 데 사용할 구성 요소를 Visual Studio에서 등록하는 프로세스입니다.

    구성 요소 등록


    JSON을 처리하려면 먼저 Newtosoft를 진행하십시오.Json.dll 등의 어셈블리를 Azure Data Lake에 등록해야 합니다.일반적인 C# 항목과 달리 NuGet은 사용할 수 없습니다.그래서 뉴턴소프트.Json.dll을 구축하여 Azure Data Lake에 업로드합니다.
  • 먼저 Github에서 다운로드 USQL 저장소 아.여기에는 JSON에서 읽을 수 있는 예시 코드 등이 제공되어 매우 편리하다.
  • 다운로드된 폴더의 Examples/DataFormats/MicrosoftAnalytics.Samples.형식의 솔루션 파일을 엽니다.
  • 을 열면 직접 구축할 수 있습니다.
  • 클라우드 자원 관리자에서 데이터 Lake Analytics를 열고 Databases>master>Assemblies를 오른쪽 단추로 누르고 구성 요소 등록을 누르십시오.
  • assembly를 path로 불러오는 것을 누르십시오.
  • Local을 선택하고 을 클릭합니다.팝업 메뉴에서 (3) 에서 만든 dll 파일을 선택하십시오.
  • 입력 상태가 준비되면 등록 준비가 완료됩니다.
  • 임시 파일 저장소 사용 메시지를 표시합니다.여기서'네'를 선택하세요.
  • 단계 5~8을 Microsoft로 설정합니다.Analytics.Samples.Formats.dll에도 진행합니다.
  • 스토리지 계정 연결


    Azure Data Lake Analytics에서 Azure 스토리지 계정을 사용하려면 반드시 연관되어야 합니다.
    이렇게 하면 주소 형식으로 Azure 저장 계정을 데이터 원본으로 지정할 수 있다.
  • Azure 포털에서 데이터 Lake Analytics를 열고 데이터 소스 > 데이터 소스 추가를 클릭합니다.
  • 스토리지 유형을 "Azure Storage"로 설정하고 방법 선택 을 클릭하여 Azure Storage에서 연결할 스토리지 계정을 지정합니다.그런 다음 추가 를 클릭합니다.
  • 데이터 자원 관리자에서 정확한 연관성을 확인할 수 있습니다.
  • 질의 작성

  • 다른 Visual Studio를 열고 새 U-SQL 프로젝트를 만듭니다.
  • 아래 코드를 사용합니다.wasb://주소는 미리 연결된 Azure 스토리지 계정의 주소입니다.{*} 을 입력하면 폴더/모든 파일 이름을 선택했습니다.
  • CREATE ASSEMBLY IF NOT EXISTS [Newtonsoft.Json] FROM "assemblies/Newtonsoft.Json.dll";
    CREATE ASSEMBLY IF NOT EXISTS [Microsoft.Analytics.Samples.Formats] FROM "assemblies/Microsoft.Analytics.Samples.Formats.dll";
    
    REFERENCE ASSEMBLY [Newtonsoft.Json];
    REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats]; 
    
    //USE DATABASE [traindetail];
    
    @json = 
        EXTRACT jsonString string FROM @"wasb://tyqiita@tyqiita/logs/{*}/{*}/{*}.json" USING Extractors.Text(delimiter:'\b', quoting:false);
    
    @jsonify = SELECT Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(jsonString) AS rec FROM @json;
    
    @columnized = SELECT 
                DateTime.Parse(rec["dc:date"]) AS date,
                rec["odpt:railway"] AS railway,
                rec["odpt:trainNumber"] AS trainnumber,
                Double.Parse((rec["odpt:delay"] ?? "0")) AS delay,
                rec["odpt:startingStation"] AS startingstation,
                rec["odpt:terminalStation"] AS terminalstation, 
                rec["odpt:fromStation"] AS fromstation, 
                rec["odpt:toStation"] AS tostation,
                rec["odpt:railDirection"] AS raildirection 
        FROM @jsonify;
    
    OUTPUT @columnized
    TO @"wasb://tyqiita@tyqiita/output/result.txt"
    USING Outputters.Text();
    

    질의 실행


    데이터 Lake Analytics의 실행 프로세스를 "작업"이라고 합니다.
    Visual Studio에서 작업을 제출하면 Data Lake Analytics에서 작업을 실행할 수 있습니다.
  • Visual Studio의 솔루션 리소스 관리자에서 생성된 USQL을 마우스 오른쪽 버튼으로 클릭하고 Submit Script를 클릭합니다.
  • 작업 제출 화면을 표시합니다.이제 작업 이름을 알기 쉬운 이름으로 변경합니다.여러 개의 데이터 Lake Analytics를 만든 경우 작업을 실행할 데이터 Lake Analytics 계정을 선택합니다.Parallelism은 이 프로세스의 병렬 실행 수를 나타냅니다.많을수록 병행 처리가 빠르지만 데이터량이 적을수록 병행 실행 비용(준비 처리)이 오래 걸리기 때문에 큰 차이를 느끼지 못한다.
  • 집행을 시작한 후 진전 상황과 상세한 절차를 직관적으로 확인할 수 있다. 아래와 같다.
  • 화면 왼쪽의 진행 상태가 "Finalizing"으로 이동하면 완료됩니다.
  • 출력된 데이터는 Azure 포털을 통해 데이터 Lake Analytics에 액세스하여 데이터 브라우저 또는 Microsoft Azure Storage Explorer에서 확인/다운로드할 수 있습니다.

  • 링크 세트


    작성자가 작성할 때 참조하는 링크입니다.
    http://sqlblog.com/blogs/jorg_klein/archive/2016/06/27/use-adlcopy-to-generate-u-sql-jobs-that-copy-data-between-azure-blob-storage-and-azure-data-lake-store.aspx
    https://azure.microsoft.com/en-us/documentation/articles/data-lake-analytics-manage-use-portal/
    https://azure.microsoft.com/en-us/documentation/articles/data-lake-store-copy-data-azure-storage-blob/
    http://www.rcloudnetwork.com/the-cloud-in-the-news/creating-big-data-pipelines-using-azure-data-lake-and-azure-data-factory/
    https://github.com/Azure/usql
    https://blogs.msdn.microsoft.com/robinlester/2016/01/04/an-introduction-to-u-sql-in-azure-data-lake/

    좋은 웹페이지 즐겨찾기