我尝试连接 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'
当我使用错误的方法创建数据框时,就会出现此错误。最初,我使用了以下内容:
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')
您的情况可能也有类似的错误。