在dask中读取木木quet文件返回空框架
我正在尝试复制 this dataShader+parquet+parquet+dask+dask 用自己的数据做类似的事情。 这是git代码。
复制的步骤包括运行 jupyter Notebook 为了转换4将csv文件添加到镶木quet文件中。我可以在毫无问题的情况下运行此代码,它会创建一个带有大约70 MB大小的文件的镶木点目录,但是当我尝试读取Parquet文件时,它会返回一个空数据框(但带有正确的列)。因此,在将CSV读取到dask数据框中并进行一些处理后,我可以检查头():
ddf.head()
radio mcc net area cell unit lon lat range samples changeable created updated averageSignal x_3857 y_3857
0 UMTS 262 2 801 86355 0 13.285512 52.522202 1000 7 1 1282569574000000000 1300155341000000000 0 1.478936e+06 6.895103e+06
1 GSM 262 2 801 1795 0 13.276907 52.525714 5716 9 1 1282569574000000000 1300155341000000000 0 1.477979e+06 6.895745e+06
2 GSM 262 2 801 1794 0 13.285064 52.524000 6280 13 1 1282569574000000000 1300796207000000000 0 1.478887e+06 6.895432e+06
3 UMTS 262 2 801 211250 0 13.285446 52.521744 1000 3 1 1282569574000000000 1299466955000000000 0 1.478929e+06 6.895019e+06
4 UMTS 262 2 801 86353 0 13.293457 52.521515 1000 2 1 1282569574000000000 1291380444000000000 0 1.479821e+06 6.894977e+06
将其写入parquet:
# Write parquet file to ../data directory
os.makedirs('./data', exist_ok=True)
parquet_path = './data/cell_towers.parq'
ddf.to_parquet(parquet_path,
compression='snappy',
write_metadata_file = True)
尝试从parquet读取:
ddy = dd.read_parquet('./data/cell_towers.parq' )
但是它返回和空数据帧,但是使用正确的列名称:
ddy.head(3)
> radio mcc net area cell unit lon lat range samples changeable created updated averageSignal x_3857 y_3857
len(ddy)
> 0
这是第一次我使用dask数据范围和镶木拼图时,它似乎就像它应该起作用,但是我在这里可能会缺少一些基本概念。
小型可复制代码段:
import pandas as pd
import dask.dataframe as dd
ddfx = dd.from_pandas(pd.DataFrame(range(10), columns=['A']), npartitions=2)
parquet_path = './dummy.parq'
ddfx.to_parquet(parquet_path,
compression='snappy',
write_metadata_file = True)
ddfy = dd.read_parquet('./dummy.parq' )
print('Input DDF length: {0} . Output DDF length: {1}'.format(len(ddfx), len(ddfy)))
输入DDF长度:10。输出DDF长度:0
如何将DDF写入Parquet然后阅读?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我无法使用
dask = 2022.05.2
重现错误。可能有一些版本不兼容,因此我建议在专用环境中安装dask,pandas和fastparquet。I am unable to reproduce the error using
dask=2022.05.2
. There might be some version incompatibility, so I'd recommend installing dask, pandas and fastparquet in a dedicated environment.