[英]Overwrite parquet file with pyarrow in S3
我正在嘗試用 S3 中的 pyarrow 覆蓋我的鑲木地板文件。 我已經看過文檔,但沒有找到任何東西。
這是我的代碼:
from s3fs.core import S3FileSystem
import pyarrow as pa
import pyarrow.parquet as pq
s3 = S3FileSystem(anon=False)
output_dir = "s3://mybucket/output/my_table"
my_csv = pd.read_csv(file.csv)
my_table = pa.Table.from_pandas(my_csv , preserve_index=False)
pq.write_to_dataset(my_table,
output_dir,
filesystem=s3,
use_dictionary=True,
compression='snappy')
write_to_dataset 函數中是否有類似mode = "overwrite"
的選項?
我正在嘗試使用S3中的pyarrow覆蓋我的實木復合地板文件。 我看過文檔記錄,卻什么也沒找到。
這是我的代碼:
from s3fs.core import S3FileSystem
import pyarrow as pa
import pyarrow.parquet as pq
s3 = S3FileSystem(anon=False)
output_dir = "s3://mybucket/output/my_table"
my_csv = pd.read_csv(file.csv)
my_table = pa.Table.from_pandas(my_csv , preserve_index=False)
pq.write_to_dataset(my_table,
output_dir,
filesystem=s3,
use_dictionary=True,
compression='snappy')
write_to_dataset函數中是否有類似mode = "overwrite"
選項的內容?
我正在嘗試使用S3中的pyarrow覆蓋我的實木復合地板文件。 我看過文檔記錄,卻什么也沒找到。
這是我的代碼:
from s3fs.core import S3FileSystem
import pyarrow as pa
import pyarrow.parquet as pq
s3 = S3FileSystem(anon=False)
output_dir = "s3://mybucket/output/my_table"
my_csv = pd.read_csv(file.csv)
my_table = pa.Table.from_pandas(my_csv , preserve_index=False)
pq.write_to_dataset(my_table,
output_dir,
filesystem=s3,
use_dictionary=True,
compression='snappy')
write_to_dataset函數中是否有類似mode = "overwrite"
選項的內容?
這是使用 pyarrow.parquet 的解決方案(需要版本 8+! 請參閱有關 arg 的文檔:“existing_data_behavior” )和 S3FileSystem。
現在決定是否要覆蓋通常構成這些分區的分區或鑲木地板零件文件。
pq.write_to_dataset(
my_table,
root_path='bucket/mydata/year=2022/data_part001.parquet',
filesystem=s3,
existing_data_behavior="overwrite_or_ignore"
)
pq.write_to_dataset(
my_table,
root_path='bucket/mydata',
partition_cols=['year'],
basename_template='data_part001.parquet',
filesystem=s3,
existing_data_behavior="overwrite_or_ignore"
)
如果您的一些新記錄屬於已經存在的分區,則整個分區將被覆蓋,新分區將添加:
pq.write_to_dataset(
my_table,
root_path='bucket/mydata',
partition_cols=['year'],
filesystem=s3,
existing_data_behavior="delete_matching"
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.