다음을 통해 공유


자습서: Notebook에서 CSV 데이터 가져오기 및 시각화

이 자습서에서는 Azure Databricks Notebook을 사용하여 python, Scala 및 R을 사용하여 health.data.ny.gov 아기 이름 데이터가 포함된 CSV 파일에서 Unity 카탈로그 볼륨으로 데이터를 가져오는 방법을 안내합니다. 열 이름을 수정하고, 데이터를 시각화하고, 테이블에 저장하는 방법도 알아봅니다.

요구 사항

이 문서의 작업을 완료하려면 다음 요구 사항을 충족해야 합니다.

  • 작업 영역에 Unity 카탈로그 사용하도록 설정되어 있어야 합니다. Unity 카탈로그를 시작하는 방법에 대한 자세한 내용은 Unity 카탈로그 시작을 참조하세요.
  • 볼륨에 대한 WRITE VOLUME 권한, 부모 스키마에 대한 USE SCHEMA 권한 및 부모 카탈로그에 대한 USE CATALOG 권한이 있어야 합니다.
  • 기존 컴퓨팅 리소스를 사용하거나 새 컴퓨팅 리소스를 만들 수 있는 권한이 있어야 합니다. 컴퓨팅을 참조하거나 Databricks 관리자를 참조하세요.

이 문서의 완성된 Notebook은 데이터 Notebook 가져오기 및 시각화를 참조하세요.

1단계: 새 Notebook 만들기

작업 영역에서 Notebook을 생성하려면 사이드바의 새 아이콘새로 만들기를 클릭한 다음 Notebook을 클릭합니다. 작업 영역에서 빈 전자 필기장이 열립니다.

Notebook 만들기 및 관리에 대한 자세한 내용은 Notebook 관리를 참조하세요.

2단계: 변수 정의

이 단계에서는 이 문서에서 만든 예제 Notebook에서 사용할 변수를 정의합니다.

  1. 다음 코드를 복사하고 새로운 빈 Notebook 셀에 붙여넣습니다. <catalog-name>, <schema-name><volume-name>를 Unity 카탈로그 볼륨의 카탈로그, 스키마 및 볼륨 이름으로 교체하세요. 필요에 따라 table_name 값을 원하는 테이블 이름으로 바꿉니다. 이 문서의 뒷부분에서 아기 이름 데이터를 이 표에 저장합니다.

  2. 셀을 실행하고 새 빈 셀을 만들려면 Shift+Enter를 누릅니다.

    파이썬

    catalog = "<catalog_name>"
    schema = "<schema_name>"
    volume = "<volume_name>"
    download_url = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name = "baby_names.csv"
    table_name = "baby_names"
    path_volume = "/Volumes/" + catalog + "/" + schema + "/" + volume
    path_table = catalog + "." + schema
    print(path_table) # Show the complete path
    print(path_volume) # Show the complete path
    

    스칼라

    val catalog = "<catalog_name>"
    val schema = "<schema_name>"
    val volume = "<volume_name>"
    val downloadUrl = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    val fileName = "baby_names.csv"
    val tableName = "baby_names"
    val pathVolume = s"/Volumes/${catalog}/${schema}/${volume}"
    val pathTable = s"${catalog}.${schema}"
    print(pathVolume) // Show the complete path
    print(pathTable) // Show the complete path
    

    R 프로그래밍 언어

    catalog <- "<catalog_name>"
    schema <- "<schema_name>"
    volume <- "<volume_name>"
    download_url <- "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv"
    file_name <- "baby_names.csv"
    table_name <- "baby_names"
    path_volume <- paste("/Volumes/", catalog, "/", schema, "/", volume, sep = "")
    path_table <- paste(catalog, ".", schema, sep = "")
    print(path_volume) # Show the complete path
    print(path_table) # Show the complete path
    

3단계: CSV 파일 가져오기

이 단계에서는 health.data.ny.gov에서 아기 이름 데이터가 포함된 CSV 파일을 Unity 카탈로그 볼륨으로 가져옵니다.

  1. 다음 코드를 복사하고 새로운 빈 Notebook 셀에 붙여넣습니다. 이 코드는 rows.csv 명령을 사용하여 health.data.ny.gov 파일을 귀하의 Unity 카탈로그 볼륨으로 복사합니다.

  2. Shift+Enter 키를 눌러 셀을 실행하고 다음 셀로 이동합니다.

    파이썬

    dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")
    

    스칼라

    dbutils.fs.cp(downloadUrl, s"${pathVolume}/${fileName}")
    

    R 프로그래밍 언어

    dbutils.fs.cp(download_url, paste(path_volume, "/", file_name, sep = ""))
    

4단계: DataFrame에 CSV 데이터 로드

이 단계에서는 df 메서드를 사용하여 이전에 Unity 카탈로그 볼륨에 로드한 CSV 파일에서 이라는 DataFrame을 만듭니다.

  1. 다음 코드를 복사하고 새로운 빈 Notebook 셀에 붙여넣습니다. 이 코드는 CSV 파일에서 DataFrame df에 베이비 이름 데이터를 로드합니다.

  2. Shift+Enter 키를 눌러 셀을 실행하고 다음 셀로 이동합니다.

    파이썬

    df = spark.read.csv(f"{path_volume}/{file_name}",
      header=True,
      inferSchema=True,
      sep=",")
    

    스칼라

    val df = spark.read
        .option("header", "true")
        .option("inferSchema", "true")
        .option("delimiter", ",")
        .csv(s"${pathVolume}/${fileName}")
    

    R 프로그래밍 언어

    # Load the SparkR package that is already preinstalled on the cluster.
    library(SparkR)
    
    df <- read.df(paste(path_volume, "/", file_name, sep=""),
      source="csv",
      header = TRUE,
      inferSchema = TRUE,
      delimiter = ",")
    

지원되는 다양한 파일 형식에서 데이터를 로드할 수 있습니다.

5단계: Notebook에서 데이터 시각화

이 단계에서는 display() 메서드를 사용하여 Notebook의 테이블에 있는 DataFrame의 내용을 표시한 다음 Notebook의 Word 클라우드 차트에서 데이터를 시각화합니다.

  1. 다음 코드를 복사하여 빈 전자 필기장 셀에 붙여넣은 다음 실행을 클릭하여 테이블에 데이터를 표시합니다.

    파이썬

    display(df)
    

    스칼라

    display(df)
    

    R 프로그래밍 언어

    display(df)
    
  2. 테이블의 결과를 검토합니다.

  3. 탭 옆에 있는 + 클릭한 다음 시각화클릭합니다.

  4. 시각화 편집기에서 시각적 개체 유형을 클릭하고 단어 클라우드가 선택되어 있는지 확인합니다.

  5. 단어 열에서에 있는 First Name가 선택되어 있는지 확인합니다.

  6. 빈도 제한에서 35을 클릭합니다.

    단어 클라우드 차트

  7. 저장을 클릭합니다.

6단계: 테이블에 DataFrame 저장

중요합니다

DataFrame을 Unity 카탈로그에 저장하려면 카탈로그 및 스키마에 CREATE 테이블 권한이 있어야 합니다. Unity 카탈로그의 권한 정보에 대해서는 Unity 카탈로그의 권한 및 보안 개체권한 관리를 참조하세요.

  1. 다음 코드를 복사한 후 빈 Notebook 셀에 붙여넣습니다. 이 코드는 열 이름의 공백을 대체합니다. 특수 문자(예: 공백)는 열 이름에 허용되지 않습니다. 이 코드는 Apache Spark withColumnRenamed() 메서드를 사용합니다.

    파이썬

    df = df.withColumnRenamed("First Name", "First_Name")
    df.printSchema
    

    스칼라

    val dfRenamedColumn = df.withColumnRenamed("First Name", "First_Name")
    // when modifying a DataFrame in Scala, you must assign it to a new variable
    dfRenamedColumn.printSchema()
    

    R 프로그래밍 언어

    df <- withColumnRenamed(df, "First Name", "First_Name")
    printSchema(df)
    
  2. 다음 코드를 복사한 후 빈 Notebook 셀에 붙여넣습니다. 이 코드는 이 문서의 시작 부분에 정의한 테이블 이름 변수를 사용하여 DataFrame의 내용을 Unity 카탈로그의 테이블에 저장합니다.

    파이썬

    df.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")
    

    스칼라

    dfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")
    

    R 프로그래밍 언어

    saveAsTable(df, paste(path_table, ".", table_name), mode = "overwrite")
    
  3. 테이블이 저장되었는지 확인하려면 왼쪽 사이드바에서 카탈로그 클릭하여 카탈로그 탐색기 UI를 엽니다. 카탈로그를 연 다음 스키마를 열어 테이블이 표시되는지 확인합니다.

  4. 테이블을 클릭하여 개요 탭에서 테이블 스키마를 봅니다.

  5. 샘플 데이터를 클릭하여 테이블에서 100개 행의 데이터를 확인합니다.

데이터 Notebook 가져오기 및 시각화

다음 전자 필기장 중 하나를 사용하여 이 문서의 단계를 수행합니다. <catalog-name>, <schema-name><volume-name>를 Unity 카탈로그 볼륨의 카탈로그, 스키마 및 볼륨 이름으로 교체하세요. 필요에 따라 table_name 값을 원하는 테이블 이름으로 바꿉니다.

파이썬

Python을 사용하여 CSV에서 데이터 가져오기

노트북 가져오기

스칼라

Scala를 사용하여 CSV에서 데이터 가져오기

노트북 가져오기

R 프로그래밍 언어

R을 사용하여 CSV에서 데이터 가져오기

노트북 가져오기

다음 단계

추가 리소스