Parquet 파일은 아파치 파운데이션에서 개발한 열 지향 저장 포맷이다. 열 지향 저장 포맷은 컴퓨터에서 데이터 저장 방식을 의미하며, 이는 모든 컬럼 데이터가 함께 저장되는 형태다. 이 방식은 대규모의 데이터 세트를 다룰 때 효율적이다.
Parquet는 다음과 같은 특징을 지니고 있다.
열 지향 포맷 : Parquet 파일은 데이터를 열 별로 저장한다. 데이터 분석에서 특정 열(또는 속성)에 대한 작업을 주로 수행하는 경우, 모든 행을 검색하지 않고 해당 열에 대한 데이터만 읽어오면 되므로 I/O 작업을 최소화하고, 전체적인 성능을 향상시킬 수 있다.
스키마 진화 : 파일 스키마 진화를 지원한다. 즉, 데이터 스키마가 시간이 흐르며 변경되더라도 이전 버전의 데이터를 새로운 스키마로 읽는 것이 가능하다.
압축과 인코딩 : 효율적인 디스크 사용을 위해 다양한 압축과 인코딩 기법을 지원한다. 각 열의 데이터 유형에 따라 가장 효율적인 압축 방식을 선택할 수 있다.
통합 메타데이터 관리 : 각 파일에 대한 메타데이터를 저장함으로써 빠른 데이터 검색을 지원한다. 이 메타데이터에는 행의 개수, 스키마 정보, 열 통계 등이 포함된다.
언어 중립성 : Thrift 레코드 형식을 기반으로 하여 다양한 프로그래밍 언어에서 사용될 수 있다. Apache Arrow 라이브러리를 이용하여 Python, Java, C++, Rust 등에서 Parquet 파일을 읽고 쓸 수 있다.
Python에서 Parquet 파일을 로드하고 확인하려면 pandas와 pyarrow 라이브러리를 사용하면 된다.
다음은 pandas과 pyarrow를 설치하면 명령어다.
pip install pandas pyarrow
그런 다음 Python 코드에서 Parquet 파일을 로드하고 데이터를 확인하는 방법은 아래 코드와 같다.
import pandas as pd
# Parquet 파일 로드
df = pd.read_parquet('your_file.parquet', engine='pyarrow')
# 데이터 확인
print(df.head())
위 코드를 통해서 DataFrame의 처음 5행을 출력하고 데이터를 확인할 수 있다. 특정 행의 데이터만 가지고 오고 싶다면 아래 코드처럼 Pandas DataFrame을 다뤄서 처리하면 된다.
row = df.iloc[0]
다음으로 Parquet 파일로 저장하는 방법도 pandas를 사용해서 할 수 있다.
import pandas as pd
# DataFrame 생성
df = pd.DataFrame({
'A': range(1, 6),
'B': ['a', 'b', 'c', 'd', 'e'],
'C': pd.date_range('20230707', periods=5)
})
# DataFrame을 Parquet 파일로 저장
df.to_parquet('output.parquet', engine='pyarrow')
'Python' 카테고리의 다른 글
MediaPipe를 이용한 3D Object Detection (0) | 2023.07.10 |
---|---|
MediaPipe를 이용한 손 랜드마크 검출 (0) | 2023.07.08 |
python 성능 최적화 코드 작성 방법 (0) | 2023.06.30 |
PyCharm 단축키 (0) | 2023.06.28 |
python 실행파일(.exe) 만드는 방법 : PyInstaller (0) | 2023.06.14 |