2015-10-05 13 views
17

Tôi đang gặp sự cố khi tìm thư viện cho phép các tệp Parquet được viết bằng Python. Điểm thưởng nếu tôi có thể sử dụng Snappy hoặc một cơ chế nén tương tự kết hợp với nó.Phương pháp viết các tệp Parquet bằng Python?

Cho đến nay, phương pháp duy nhất tôi tìm thấy là sử dụng Spark với hỗ trợ ParParquet.

Tôi có một số tập lệnh cần phải viết các tệp Parquet không phải là công việc Spark. Có cách tiếp cận nào để viết các tệp Parquet trong Python không liên quan đến pyspark.sql không?

+0

dường như định dạng Parquet có thirft file định nghĩa bạn không thể sử dụng để truy cập vào nó? – Srgrn

Trả lời

12

Cập nhật (tháng 3 năm 2017): Hiện tại có thư viện có khả năng viết file Ván sàn:

  1. fastparquet
  2. pyarrow

Cả hai trong số đó là vẫn dưới phát triển nặng có vẻ như và họ đến với một số tuyên bố từ chối trách nhiệm (không có suppor t cho dữ liệu lồng nhau ví dụ), vì vậy bạn sẽ phải kiểm tra xem liệu chúng có hỗ trợ mọi thứ bạn cần hay không.

OLD ĐÁP:

Tính đến 2,2016 có vẻ là NO python chỉ thư viện có khả năng viết file Parquet.

Nếu bạn chỉ cần đọc Tệp ván sàn có python-parquet.

Giải pháp thay thế bạn sẽ phải dựa vào một số quy trình khác như ví dụ: pyspark.sql (sử dụng Py4J và chạy trên JVM và do đó có thể không được sử dụng trực tiếp từ chương trình CPython trung bình của bạn).

+1

Nếu bạn cần để có thể nối thêm dữ liệu vào các tệp hiện có, như viết nhiều dfs theo lô, fastparquet thực hiện thủ thuật. Tôi không thể tìm thấy một đề cập duy nhất của phụ thêm vào pyarrow và dường như mã không sẵn sàng cho nó (tháng 3 năm 2017). – Kieleth

4

fastparquet làm có ghi hỗ trợ, đây là một đoạn ghi dữ liệu vào một tập tin

from fastparquet import write 
write('outfile.parq', df) 
Các vấn đề liên quan