다음을 통해 공유


데이터 파이프라인에 대한 원본 데이터 탐색

데이터 파이프라인을 만드는 일반적인 첫 번째 단계는 파이프라인의 원본 데이터를 이해하는 것입니다. 이 단계에서는 Notebook에서 Databricks 유틸리티 및 PySpark 명령을 실행하여 원본 데이터 및 아티팩트를 검사합니다.

예비 데이터 분석에 대한 자세한 내용은 Azure Databricks: 도구 및 기술에 대한 예비 데이터 분석을 참조하세요.

동영상: Databricks Notebook 소개

이 동영상에서 Databricks Notebook에 대한 소개를 확인하세요.

데이터 탐색 Notebook 만들기

  1. 사이드바에서 새 아이콘 새로 만들기를 클릭하고 메뉴에서 Notebook을 선택합니다. 바꿀 수 있는 기본 이름으로 Notebook이 열립니다.

  2. Notebook 이름을 입력합니다(예: Explore songs data). 기본적으로:

    • Python은 선택한 언어입니다.
    • Notebook이 사용한 마지막 클러스터에 연결됩니다. 이 경우 1단계: 클러스터 만들기에서 만든 클러스터입니다.
  3. 데이터 세트가 포함된 디렉터리의 내용을 보려면 Notebook의 첫 번째 셀에 다음을 입력하고 실행 메뉴을 클릭한 다음 셀 실행을 선택합니다.

    %fs ls "/databricks-datasets/songs"
    
    경로 name 크기 modificationTime
    dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000
    dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846
    dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846

데이터 탐색

  1. 추가 정보 파일에는 데이터 스키마에 대한 설명을 포함하여 데이터 세트에 대한 정보가 있습니다. 스키마 정보는 데이터를 수집할 때 다음 단계에서 사용됩니다. 추가 정보 내용을 보려면 셀 작업 메뉴에서 다운 캐럿을 클릭하고 아래 셀 추가를 선택하고, 새 셀에 다음을 입력하고 실행 메뉴을 클릭한 다음 셀 실행을 선택합니다.

    %fs head --maxBytes=10000 "/databricks-datasets/songs/README.md"
    
    Sample of Million Song Dataset
    ===============================
    
    ## Source
    This data is a small subset of the [Million Song Dataset](http://labrosa.ee.columbia.edu/millionsong/).
    The original data was contributed by The Echo Nest.
    Prepared by T. Bertin-Mahieux <tb2332 '@' columbia.edu>
    
    ## Attribute Information
    - artist_id:string
    - artist_latitude:double
    - artist_longitude:double
    - artist_location:string
    - artist_name:string
    - duration:double
    - end_of_fade_in:double
    - key:int
    - key_confidence:double
    - loudness:double
    - release:string
    - song_hotnes:double
    - song_id:string
    - start_of_fade_out:double
    - tempo:double
    - time_signature:double
    - time_signature_confidence:double
    - title:string
    - year:double
    - partial_sequence:int
    ...
    
  2. 이 예제에 사용된 레코드는 /databricks-datasets/songs/data-001/ 디렉터리에 있습니다. 이 디렉터리의 콘텐츠를 보려면 셀 작업 메뉴에서 다운 캐럿을 클릭하고 아래 셀 추가를 선택하고, 새 셀에 다음을 입력하고 실행 메뉴을 클릭한 다음 셀 실행을 선택합니다.

    %fs ls "/databricks-datasets/songs/data-001"
    
    경로 name 크기 modificationTime
    dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000
    dbfs:/databricks-datasets/songs/data-001/part-00000 part-00000 52837 1454547464000
    dbfs:/databricks-datasets/songs/data-001/part-00001 part-00001 52469 1454547465000
  3. 추가 정보 및 파일 이름은 파일 형식을 나타내지 않으므로 각 레코드의 내용과 형식을 더 잘 이해하기 위해 레코드 샘플을 볼 수 있습니다. 데이터 파일 중 하나에서 처음 10개의 레코드를 읽고 표시하려면 셀 작업 메뉴에서 다운 캐럿을 클릭하고 아래 셀 추가를 선택하고, 새 셀에 다음을 입력하고 실행 메뉴을 클릭한 다음 셀 실행을 선택합니다.

    %fs head --maxBytes=10000 "/databricks-datasets/songs/data-001/part-00000"
    
     AR81V6H1187FB48872  nan     nan             Earl Sixteen    213.7073        0.0     11      0.419   -12.106 Soldier of Jah Army     nan     SOVNZSZ12AB018A9B8      208.289 125.882 1       0.0     Rastaman        2003    --
     ARVVZQP11E2835DBCB  nan     nan             Wavves  133.25016       0.0     0       0.282   0.596   Wavvves 0.471578247701  SOJTQHQ12A8C143C5F      128.116 89.519  1       0.0     I Want To See You (And Go To The Movies)        2009    --
     ARFG9M11187FB3BBCB  nan     nan     Nashua USA      C-Side  247.32689       0.0     9       0.612   -4.896  Santa Festival Compilation 2008 vol.1   nan     SOAJSQL12AB0180501      242.196 171.278 5       1.0     Loose on the Dancefloor 0       225261
     ...
    

    레코드 샘플을 보면서 데이터에 대한 몇 가지 사항을 관찰할 수 있습니다. 나중에 데이터를 처리할 때 이러한 관찰 내용을 사용합니다.

    • 레코드에 헤더가 포함되지 않습니다. 대신 헤더는 동일한 디렉터리의 별도 파일에 저장됩니다.
      • 파일은 TSV(탭으로 구분된 값) 형식으로 표시됩니다.
      • 일부 필드가 없거나 잘못되었습니다.
  4. 데이터를 추가로 탐색하고 분석하려면 이러한 관찰을 사용하여 TSV 형식의 노래 데이터를 PySpark DataFrame에 로드합니다. 이렇게 하려면 셀 작업 메뉴에서 다운 캐럿을 클릭하고 아래 셀 추가를 선택하고 새 셀에 다음 코드를 입력한 다음 실행 메뉴>셀 실행을 클릭합니다.

    df = spark.read.format('csv').option("sep", "\t").load('dbfs:/databricks-datasets/songs/data-001/part-00000')
    df.display()
    

    데이터 파일에 헤더가 없으므로 열 이름은 _c0, _c1 등으로 표시됩니다. 각 열은 실제 데이터 형식과 관계없이 string으로 해석됩니다. 다음 단계에서 원시 데이터를 수집하면 데이터를 로드할 때 유효한 스키마를 적용하는 방법의 예가 표시됩니다.

    원시 노래 데이터에서 만든 DataFrame