Dask:“DataFrame”对象没有属性“_meta”

问题描述 投票:0回答:1

我尝试连接 Ms SQL 服务器并将数据帧加载到 SQL 服务器中,但在连接时我不断收到“无属性'_meta'”。

我是 Dask Dataframe 的新手,有人可以帮助我吗?这将会非常有帮助。

查询:

dd.to_sql(df,name='Test_DD',
          uri = 'mssql+pyodbc://{'+USERNAME+'}:{'+PASSWORD+'}@{'+SERVER+'}/{'+DATABASE+'}?driver={'+DRIVER+'}?Trusted_Connection=yes')

错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-81-50a6f69a8209> in <module>
      1 dd.to_sql(df,name='Test_DD',
----> 2           uri = 'mssql+pyodbc://{'+USERNAME+'}:{'+PASSWORD+'}@{'+SERVER+'}/{'+DATABASE+'}?driver={'+DRIVER+'}?Trusted_Connection=yes')

C:\Python\envs\poc\lib\site-packages\dask\dataframe\io\sql.py in to_sql(df, name, uri, schema, if_exists, index, index_label, chunksize, dtype, method, compute, parallel)
    379 
    380     make_meta = delayed(make_meta)
--> 381     meta_task = make_meta(df._meta)
    382 
    383     # Partitions should always append to the empty table created from `meta` above

C:\Python\envs\poc\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)
   5272             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5273                 return self[name]
-> 5274             return object.__getattribute__(self, name)
   5275 
   5276     def __setattr__(self, name: str, value) -> None:

AttributeError: 'DataFrame' object has no attribute '_meta'
python pandas dask dask-delayed dask-dataframe
1个回答
0
投票

当我使用错误的方法创建数据框时,就会出现此错误。最初,我使用了以下内容:

import dask.dataframe as dd
df = dd.DataFrame(f's3://{S3_BUCKET}/{S3_PREFIX}/train/*.parquet')

我的情况正确的方法如下:

import dask.dataframe as dd
df = dd.read_parquet(f's3://{S3_BUCKET}/{S3_PREFIX}/train/*.parquet')

您的情况可能也有类似的错误。

© www.soinside.com 2019 - 2024. All rights reserved.