我有一個 dask 數(shù)據(jù)幀dask_df,我想將其直接存儲到 S3,而不轉(zhuǎn)換為 pandas ( dask_df.compute()),因為它太大了。問題是當(dāng)我嘗試執(zhí)行以下操作時,字符串 IO 拋出錯誤:import boto3from boto3 import session, clientimport dask.dataframe as ddimport datetimetoday = date.today() client = boto3.client('s3')bucket = 'test-bucket'prefix = 'foldername/'csv_buffer = StringIO()dask_df.to_csv(csv_buffer)filename = 'filename_{}.csv'.format(today)response = client.put_object( ACL = 'private', Body = csv_buffer.getvalue(), Bucket = bucket, Key = prefix+filename )這是我收到的錯誤 -raise TypeError( “url 類型無法理解:%s” % urlpath)類型錯誤:無法理解 url 類型:<_io.StringIO 對象位于 0x7f830e6b5550>
1 回答

精慕HU
TA貢獻(xiàn)1845條經(jīng)驗 獲得超8個贊
文檔字符串并沒有說你可以寫入 StringIO;確實(shí),你難道不希望這能填滿你的記憶嗎?
幸運(yùn)的是,Dask 已經(jīng)為你完成了這項工作,你可以做
dask_df.to_csv("s3://test-bucket/foldername/filename_*.csv")
就是這樣。
添加回答
舉報
0/150
提交
取消