我有一个存储在s3中的parquet数据集,我想读取它来对分区字段(特别是unique)应用过滤器。我尝试了以下方法,但是unique函数无法应用
下面是我的尝试:
query_fecha_dato = "{0}fecha_dato={1}/".format(param.delivery["output_path"], fecha_dato_formato)
print(query_fecha_dato)
df_fecha_datos = wr.s3.read_parquet(path=query_fecha_dato,dataset=True,filters=[('fecha_dato','unique',fecha_dato)])
print(df_fecha_datos.head(5))
它应该只显示分区列“fecha_dato”,但是它显示了以下内容:
nro_de_pedido nro_de_negocio ... nrootchex ingest_date
0 2006968078 635922336 ... -1 2022-08-06
1 2006968079 635912195 ... -1 2022-08-06
2 2006968080 635921361 ... -1 2022-08-06
3 2006968081 635922792 ... -1 2022-08-06
4 2006968082 635922368 ... -1 2022-08-06
我只想获取不带重复项的分区列“fecha_dato
1条答案
按热度按时间kupeojn61#
大家好,欢迎来到stackoverflow。:)
有一个minimal, reproducible examples来测试代码确实很有帮助,这样我就可以测试我的答案是否真的有效。
我是awswranger的新手,但是根据docu,我找不到
filters
作为选项。看起来好像只选择了
fecha_dato
,你需要指定columns=['fecha_dato']
。而且我没有看到awswrangler中有一个唯一的选项,但是你可以在以后使用pandadrop_duplicates
应该工作-至少只要你没有得到多个 Dataframe 从s3回来。
这将下载
fecha_dato
中的所有值,并且只在本地删除重复的值,但是我不知道如何在不部署AWS中的一些计算资源的情况下保存带宽。