[Databricks] databricks 내 dataframe 조작
A A

목차

    728x90

    1. 볼륨 위치 찾기

    https://learn.microsoft.com/ko-kr/azure/databricks/volumes/

     

    Unity 카탈로그 볼륨이란 무엇인가요? - Azure Databricks

    Unity 카탈로그 볼륨은 클라우드 개체 스토리지에서 테이블 형식이 아닌 데이터에 대한 액세스를 관리합니다.

    learn.microsoft.com

     

    위의 문서와 같이 볼륨의 주소가 이루어진다는 것을 알 수 있는데, 해당하는 볼륨 주소를 쉽게 복사할 수 있다.

    볼륨의 이름을 선택하면 모달창이 뜨면서, 해당 내용과 Copy, Download 가 가능하다.

    복사하면 아래와 같은 형태의 주소값을 쉽게 볼 수  있다.

    /Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>

     

     

     

    2. Workspace에서 데이터 읽기

     

    https://www.databricks.com/spark/getting-started-with-apache-spark/dataframes

     

    DataFrames | Databricks

    Learn the basic concepts of working with and visualizing DataFrames in Spark with hands-on examples.

    www.databricks.com

     

    위의 문서와 같이 데이터를 읽기 위해 간단히 방법이 적혀있다.

    나는 CSV 파일을 읽기 위함으로, 위의 문서 포멧을 활용하였다.

    %python
    # Use the Spark CSV datasource with options specifying:
    # - First line of file is a header
    # - Automatically infer the schema of the data
    data = spark.read.format("csv") 
      .option("header", "true") 
      .option("inferSchema", "true") 
      .load("/databricks-datasets/samples/population-vs-price/data_geo.csv")
    
    data.cache() # Cache data for faster reuse
    data = data.dropna() # drop rows with missing values

    a. header option

    CSV 파일에 첫번째 행이 데이터가 아닌 컬럼 이름을 담고 있기 때문에 올바른 컬럼명으로 처리하기 위해서 필요한 옵션.

     

    • 옵션 지정하지 않은 경우
    _c0 _c1 _c2
    Name Age Date
    홍길동 10 2010-12-01 08:26:00

     

    • 옵션 지정한 경우
    Name Age Date
    홍길동 10 2010-12-01 08:26:00

     

    b. inferSchema option

    CSV, JSON 등 구조화되지 않은 파일에서 데이터를 읽어 들일 때, Spark가 데이터의 스키마를 자동으로 유추하도록 지시하는 옵션.

    CSV의 경우 기본적으로 모든 데이터를 문자열(StringType)으로 읽는다.

    • 옵션을 지정하지 않은 경우
    data:pyspark.sql.connect.dataframe.DataFrame
        Name:string
        Age:string
        Date:string
    • 옵션을 지정한 경우
    data:pyspark.sql.connect.dataframe.DataFrame
        Name:string
        Age:integer
        Date:timestamp

     

    c. df.take(n)

    %python
    data.take(10)

    d. display(df) / df.display()

    %python
    display(data)

    10000개가 넘어가는 숫자가 아니라면, 1MB까지 나온다

    e. df.printSchema()

    data.printSchema()
    infer_false_data.printSchema()

    스키마에 대한 정보가 출력되는 것을 볼 수 있음.                                                                                                                     .,             

     

     

    3. 데이터 프레임 조작

    다양한 조건 또는 원하는 조작을 다양하게 할 수 있다.

     

    https://learn.microsoft.com/ko-kr/azure/databricks/getting-started/dataframes

     

    자습서: Apache Spark DataFrames를 사용하여 데이터 변환 및 정리 - Azure Databricks

    Azure Databricks에서 Apache Spark Python(PySpark) DataFrame API, Apache Spark Scala DataFrame API 및 SparkR SparkDataFrame API를 사용하여 데이터를 로드하고 변환하는 방법에 대해 자세히 알아봅니다.

    learn.microsoft.com

     

    https://assets.docs.databricks.com/_extras/notebooks/source/getting-started/tutorial-uc-spark-dataframe-python.html

     

    tutorial-uc-spark-dataframe-python (1) - Databricks

     

    assets.docs.databricks.com

     

    'Data Engineering > Databricks' 카테고리의 다른 글

    [Databricks] Python용 Databricks SDK  (0) 2025.09.08
    [Databricks] cli  (0) 2025.09.08
    [Databricks] DBeaver 연결 하기  (1) 2025.09.02
    [databricks] Watermark  (0) 2025.06.11
    [databricks] spark UI Summary Metrics 분석  (0) 2025.06.10
    Copyright 2024. GRAVITY all rights reserved