ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python parquet 타입으로 읽기, 쓰기
    Python/etc 2022. 10. 6. 13:37
    728x90
    반응형

    목차

      csv 데이터는 읽는 것 보다 쓰는 데 더욱 많은 시간이 걸린다.

      arrow에서는 csv 포맷 쓰기를 지원하지는 않기 때문에 parquet 타입 파일을 활용해야 한다.

       

      csv를 parquet 타입으로 저장

      import pyarrow.parquet as pq
      from pyarrow import csv
      
      pq.write_table(csv.read_csv('data.csv'), 'data.parquet')

      데이터 프레임을 parquet 파일로 저장

      데이터 프레임을 먼저 Table로 변환 후 parquet타입으로 저장한다.

      import pandas as pd
      df.to_parquet('data.parquet', engine = 'pyarrow', index = False)
      import pyarrow as pa
      import pyarrow.parquet as pq
      
      tabel_from_pandas = pa.Table.from_pandas(df,preserve_index = False)
      pq.write_table(table_from_pandas, 'data.parquet')

      ※ Pandas는 nanosecond를 지원하지만, Spark 같은 경우는 nanosecond를 지원하지 않기 때문에 관련 옵션이 있다.

      parquet 파일을 데이터 프레임으로 읽기

      읽는 속도가 빠르고 메타데이터로 설정한 데이터 타입이 유지되기 때문에 더 효과적이다.

      ※ read_pandas는 read_table 함수에 pandas의 index 컬럼 읽기가 추가된 함수이다.

      import pandas as pd
      df = pd.read_parquet('data.parquet', engine = 'pyarrow')

       

      import pyarrow.parquet as pq
      df = pq.read_pandas('data.parquet').to_pandas()

       

      반응형

      'Python > etc' 카테고리의 다른 글

      Python String strip(), rstrip(), lstrip()  (0) 2022.10.11
      Python tqdm이란?  (0) 2022.10.06

      댓글

    Designed by Tistory.