연습 - HDInsight에서 데이터 업로드 및 쿼리

완료됨

스토리지 계정 및 Interactive Query 클러스터를 프로비저닝했으므로 이제 부동산 데이터를 업로드하고 일부 쿼리를 실행해 보겠습니다. 업로드할 데이터는 뉴욕시 부동산 데이터입니다. 여기에는 간편한 매핑을 위한 주소, 판매 가격, 바닥 면적 및 지오코딩된 위치 정보를 포함하여 28,000개 이상의 부동산 레코드가 포함됩니다. 부동산 투자 회사는 이 정보를 사용하여 이전에 판매된 부동산의 판매 가격을 기반으로 시장에 나타나는 새로운 부동산의 적절한 바닥 면적 가격을 결정합니다.

데이터를 업로드하고 쿼리하려면 Interactive Query 클러스터를 만들 때 사용한 스크립트 동작으로 설치된 웹 기반 애플리케이션인 Data Analytics Studio를 사용합니다. Data Analytics Studio를 사용하여 데이터를 Azure Storage에 업로드하고, 사용자가 설정하는 데이터 형식 및 열 이름을 사용하여 Hive 테이블로 데이터를 변환한 다음, HiveQL을 사용하여 클러스터에서 데이터를 쿼리할 수 있습니다. Data Analytics Studio 외에도 ODBC/JDBC 규격 도구를 사용하면 Visual Studio Code용 Spark 및 Hive 도구와 같은 Hive를 통해 데이터 작업을 수행할 수 있습니다.

다음으로, Zeppelin Notebook을 사용하여 데이터의 추세를 빠르게 시각화합니다. Zeppelin Notebook을 사용하여 쿼리를 전송하고 다양한 미리 정의된 차트로 결과를 볼 수 있습니다. Interactive Query 클러스터에 설치된 Zeppelin Notebook에는 Hive 드라이버가 포함된 JDBC 인터프리터가 있습니다.

부동산 데이터 다운로드

  1. https://github.com/Azure/hdinsight-mslearn/tree/master/Sample%20data로 이동하고 데이터 세트를 다운로드하여 propertysales.csv 파일을 컴퓨터에 저장합니다.

Data Analytics Studio를 사용하여 데이터 업로드

  1. 이제 다음 URL을 사용하여 인터넷 브라우저에서 Data Analytics Studio를 열고 servername을 사용한 클러스터 이름으로 바꿉니다. https://servername.azurehdinsight.net/das/

로그인하려면 사용자 이름은 admin이고 암호는 직접 만든 암호입니다.

오류가 발생하는 경우 Azure Portal에서 클러스터의 개요 탭으로 이동하여 상태가 실행 중으로 설정되고 클러스터 유형, HDI 버전이 Interactive Query 3.1(HDI 4.0)로 설정되었는지 확인합니다.

  1. Data Analytics Studio가 인터넷 브라우저에서 시작됩니다.

A screenshot of the Data Analytics Studio application

  1. 왼쪽 메뉴에서 데이터베이스를 클릭하고, 녹색 세로 줄임표 단추를 클릭한 다음, 데이터베이스 만들기를 클릭합니다.

A screenshot of the Create Database button in the Data Analytics Studio application

  1. 데이터베이스 이름을 ‘newyorkrealestate’로 지정한 후 만들기를 클릭합니다.

  2. 데이터베이스 탐색기에서 데이터베이스 이름 상자를 클릭한 후 newyorkrealestate를 선택합니다.

Database Explorer in the Data Analytics Studio application

  1. 데이터베이스 탐색기에서 +를 클릭한 후 테이블 만들기를 클릭합니다.

Create table button Database Explorer in the Data Analytics Studio application

  1. 새 테이블 이름을 ‘propertysales’로 지정한 후 테이블 업로드를 클릭합니다. 테이블 이름은 특수 문자 없이 소문자와 숫자만 포함해야 합니다.

Upload table in the Data Analytics Studio application

  1. 페이지의 파일 형식 선택 영역에서 다음을 수행합니다.
    • 파일 형식이 csv인지 확인
    • 첫 번째 행이 머리글인지 여부 상자를 선택합니다.
  2. 페이지의 파일 원본 선택 영역에서 다음을 수행합니다.
    • 로컬에서 업로드를 선택합니다.
    • 업로드할 파일을 끌거나 찾아보기 클릭을 클릭하고 propertysales.csv 파일로 이동합니다.
  3. 열 섹션에서 위도 및 경도의 데이터 형식을 문자열로 변경하고 판매 날짜의 데이터 형식을 날짜로 변경합니다.

Change data type in the Data Analytics Studio application

  1. 위로 스크롤하고 테이블 미리 보기 섹션을 검토하여 열 머리글이 제대로 표시되는지 확인합니다.

Table preview in the Data Analytics Studio application

  1. 아래로 스크롤하고 만들기를 클릭하여 newyorkrealestate 데이터베이스에서 Hive 테이블을 만듭니다.

Create Hive Table button in the Data Analytics Studio application

  1. 왼쪽 메뉴에서 작성을 클릭합니다.

Compose button in the Data Analytics Studio application

  1. 다음 Hive 쿼리를 시도하여 모든 것이 예상대로 작동하는지 확인합니다.
SELECT `ADDRESS`, `ZIP CODE`, `SALE PRICE`, `SQUARE FOOTAGE`
FROM newyorkrealestate.propertysales;
  1. 출력은 다음과 같이 표시됩니다.

Query output in the Data Analytics Studio application

  1. 왼쪽 메뉴에서 쿼리를 클릭한 후 방금 실행한 SELECT ADDRESS, ZIP CODE, SALE PRICE, SQUARE FOOTAGE FROM newyorkrealestate.propertysales 쿼리를 선택하여 쿼리의 성능을 검토합니다.

사용할 수 있는 성능 권장 사항이 있으면 도구가 해당 권장 사항을 표시합니다. 이 페이지에는 실행된 실제 SQL 쿼리가 표시되고, 쿼리에 대한 시각적 설명이 제공되고, 쿼리를 실행할 때 Hive에서 유추한 구성 세부 정보가 표시되고, 쿼리의 각 부분을 실행하는 데 소요된 시간을 보여 주는 타임라인이 제공됩니다.

Zeppelin Notebook을 사용하여 Hive 테이블 탐색

  1. Azure Portal의 개요 페이지에 있는 클러스터 대시보드 상자에서 Zeppelin Notebook을 클릭합니다.

Opening a Zeppelin Notebook in the Azure portal

  1. 새 노트를 클릭하고, 노트 이름을 Real Estate Data로 지정한 다음, 만들기를 클릭합니다.

Create a new Zeppelin Notebook in the Azure portal

  1. Zeppelin 창의 명령 프롬프트에 다음 코드 조각을 붙여넣고 재생 아이콘을 클릭합니다.
%jdbc(hive)
show databases;
select * from newyorkrealestate.propertysales limit 10 ; 

쿼리 출력이 창에 표시됩니다. 처음 10개 결과가 반환되는 것을 볼 수 있습니다.

Viewing Query results in a Zeppelin Notebook in the Azure portal

  1. 이제 Zeppelin에서 사용할 수 있는 일부 시각화 및 그래프 기능을 사용하도록 더 복잡한 쿼리를 실행합니다. 명령 프롬프트에 다음 쿼리를 복사하고 클릭합니다.
%jdbc(hive)
select `sale price`, `square footage` from newyorkrealestate.propertysales 
where `sale price` < 20000000 AND `square footage` < 50000;

기본적으로 쿼리 출력은 테이블 형식으로 표시됩니다. 대신, 분산형 차트를 선택하여 Zeppelin Notebook에서 제공하는 시각적 개체 중 하나를 표시합니다.

Visualizations in a Zeppelin Notebook in the Azure portal