gpt4 book ai didi

python - 如何在 Python 中使用 pyarrow 读取有条件的 Parquet 文件

转载 作者:太空狗 更新时间:2023-10-30 01:11:41 27 4
gpt4 key购买 nike

我从数据库中创建了一个包含三列(id、作者、标题)的 parquet 文件,并希望读取带有条件(title='Learn Python')的 parquet 文件。下面提到的是我用于此 POC 的 python 代码。

import pyarrow as pa
import pyarrow.parquet as pq
import pandas as pd
import pyodbc

def write_to_parquet(df, out_path, compression='SNAPPY'):
arrow_table = pa.Table.from_pandas(df)
if compression == 'UNCOMPRESSED':
compression = None
pq.write_table(arrow_table, out_path, use_dictionary=False,
compression=compression)

def read_pyarrow(path, nthreads=1):
return pq.read_table(path, nthreads=nthreads).to_pandas()


path = './test.parquet'
sql = "SELECT * FROM [dbo].[Book] (NOLOCK)"

conn = pyodbc.connect(r'Driver={SQL
Server};Server=.;Database=APP_BBG_RECN;Trusted_Connection=yes;')
df = pd.io.sql.read_sql(sql, conn)

write_to_parquet(df, path)

df1 = read_pyarrow(path)

如何在 read_pyarrow 方法中加入条件 (title='Learn Python')?

最佳答案

过滤器现在可用 read_table

table = pq.read_table(
df, filters=[("title", "in", {'Learn Python'}),
("year", ">=", 1950)]
)

关于python - 如何在 Python 中使用 pyarrow 读取有条件的 Parquet 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48714803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com