Databricks 런타임 17.0과 함께 PySpark에서의 기본 플로팅을 소개하게 되어 매우 기쁩니다(릴리스 노트). 이는 데이터 시각화에 있어서 흥미진진한 도약입니다. 이제 데이터를 시각화하기 위해 도구 간에 왔다갔다 할 필요가 없습니다. PySpark 데이터프레임에서 직접 아름답고 직관적인 플롯을 생성할 수 있습니다. 빠르고, 매끄럽고, 바로 통합되어 있습니다. 이 오랫동안 기다려온 기능은 데이터 탐색을 이전보다 더 쉽고 강력하게 만듭니다.
PySpark에서 대규모 데이터를 다루는 것은 항상 강력했으며, 특히 대규모 데이터셋을 변환하고 분석하는 데 있어서입니다. PySpark 데이터프레임은 규모와 성능을 위해 구축되었지만, 사용자들은 이를 Apache Spark™의 Pandas API 데이터프레임으로 변환하여 그래프를 생성해야 했습니다. 하지만 이 추가 단계로 인해 시각화 작업 흐름이 불필요하게 복잡해졌습니다. PySpark와 pandas 스타일 데이터프레임의 구조 차이는 종종 마찰을 일으켜 데이터를 시각적으로 탐색하는 과정을 느리게 만들었습니다.
다음은 PySpark Plotting을 사용하여 다양한 제품 카테고리에 걸친 판매, 이익, 이익 마진을 분석하는 예입니다.
다음과 같이 표시된 다른 제품 카테고리에 대한 판매 및 이익 데이터를 포함하는 데이터프레임으로 시작합니다:
우리의 목표는 매출과 이익 사이의 관계를 시각화하는 것이며, 이익 마진을 추가적인 시각적 차원으로 포함시켜 분석을 더 의미있게 만드는 것입니다. 다음은 그래프를 생성하는 코드입니다:
“fig”는 “plotly.graph_objs._figure.Figure” 타입임을 주의하세요. 기존 Plotly 기능을 사용하여 레이아웃을 업데이트함으로써 그 모양을 개선할 수 있습니다. 조정된 그림은 다음과 같습니다:
그림에서 판매량과 이익 사이의 명확한 관계를 다양한 카테고리에서 관찰할 수 있습니다. 예를 들어, 전자제품은 상대적으로 적당한 이익률로 높은 판매량과 이익을 보여주며, 강력한 수익 창출을 나타내지만 효율성을 향상시킬 여지를 보여줍니다.
사용자는 PySpark DataFrame에 plot 속성을 호출하여 PySpark Plotting과 상호 작용하고, 원하는 플롯 유형을 하위 메소드로 지정하거나 “kind” 매개변수를 설정함으로써 지정합니다. 예를 들어:
또는 동등하게:
이 디자인은 Apache Spark에서의 Pandas API와 기본 pandas의 인터페이스와 일치하며, pandas 플로팅에 이미 익숙한 사용자들에게 일관되고 직관적인 경험을 제공합니다.
PySpark Plotting은 선, 막대(가로 포함), 영역, 산점도, 파이, 박스, 히스토그램, 밀도/KDE 플롯 등 다양한 일반 차트 유형을 지원합니다. 이를 통해 사용자는 PySpark DataFrames에서 직접 추세, 분포, 비교, 관계를 시각화할 수 있습니다.
이 기능은 Plotly (버전 4.8 이상)를 기본 시각화 백엔드로 사용하여 풍부하고 상호 작용적인 그래프 기능을 제공하며, 대부분의 그래프에 대한 데이터 처리는 내부적으로 pandas 를 사용합니다.
플롯 유형에 따라, PySpark Plotting에서의 데이터 처리는 세 가지 전략 중 하나를 통해 처리됩니다:
이 접근법은 각 플롯 유형에 대한 Apache Spark에서의 Pandas API 플로팅 전략을 존중하며, 추가적인 성능 향상을 제공합니다:
PySpark Native Plotting은 PySpark와 직관적인 데이터 시각화 사이의 격차를 메웁니다. 이 기능은 PySpark 사용자가 PySpark 데이터프레임에서 직접 고품질의 플롯을 생성할 수 있게 하여, 데이터 분석을 이전보다 더 빠르고 접근하기 쉽게 만듭니다. Databricks Runtime 17.0에서 이 기능을 시험해 보고 데이터 시각화 경험을 향상시켜 보세요!
더 탐색해 볼 준비가 되셨나요? PySpark API 문서를 확인하여 자세한 가이드와 예시를 참조하세요.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세 요)
