[英]Reading Parquet files in Dask returns empty dataframe
我正在嘗試復制這個 datashader+parquet+dask+dash示例,以便對我自己的數據做類似的事情。 這是git代碼。
復制的步驟包括運行jupyter notebook以將 4 gig csv 文件轉換為 parquet 文件。 我可以毫無問題地運行此代碼,它會創建一個 parquet 目錄,其中包含許多 ~70 mb 大小的文件,但是當我嘗試讀取 parquet 文件時,它會返回一個空數據框(但具有正確的列)。 因此,在將 csv 讀入 dask 數據幀並進行一些處理后,我可以檢查 head():
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
將其寫入鑲木地板:
# 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)
並嘗試從鑲木地板中讀取:
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 寫入鑲木地板然后讀取它?
我無法使用dask=2022.05.2
重現錯誤。 可能有一些版本不兼容,所以我建議在專用環境中安裝 dask、pandas 和 fastparquet。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.