【问题标题】:Load oracle Dataframe in dask dataframe在 dask 数据框中加载 oracle 数据框
【发布时间】:2020-08-10 20:54:57
【问题描述】:

直到现在,我一直使用 pandas 和 cx_Oracle。但由于 RAM 限制,我现在不得不切换到 dask。

import pandas as pd
from dask import dataframe as dd
import os
import cx_Oracle as cx


con = cx.connect('USER','userpw' , 'oracle_db',encoding='utf-8') 
cursor = con.cursor()

query_V_Branchen = ('''SELECT * FROM DBOWNER.V_BRANCHEN vb''')

daskdf = dd.read_sql_table(query_V_Branchen,con ,index_col= 'RECID')

我尝试这样做类似于我如何将 cx_oracle 与 pandas 一起使用。但我收到一个名为:

'cx_Oracle.Connection' object has no attribute '_instantiate_plugins'

如果只是包装的问题,有什么想法吗?

【问题讨论】:

    标签: python error-handling dask


    【解决方案1】:

    请阅读dask doc on SQL

    • 你应该提供一个connection string,而不是一个对象

    • 你应该给出一个表名,而不是一个查询,或者使用 sqlalchemy 的表达式语法来表达你的查询。

    例如,

    df = dd.read_sql_table('DBOWNER.V_BRANCHEN', 
        'oracle+cx_oracle://USER:userpw@oracle_db', index_col= 'RECID')
    

    【讨论】:

      猜你喜欢
      • 2021-02-12
      • 2020-11-24
      • 2018-04-06
      • 2019-07-08
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      相关资源
      最近更新 更多