當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.dataframe.read_sql_table用法及代碼示例


用法:

dask.dataframe.read_sql_table(table_name, con, index_col, divisions=None, npartitions=None, limits=None, columns=None, bytes_per_chunk='256 MiB', head_rows=5, schema=None, meta=None, engine_kwargs=None, **kwargs)

將 SQL 數據庫表讀入 DataFrame。

如果既沒有給出divisions 也沒有給出npartitions,則將確定前幾行的內存占用,並且將使用大小為~256MB 的分區。

參數

table_namestr

數據庫中 SQL 表的名稱。

constr

數據庫連接的完整 sqlalchemy URI

index_colstr

成為索引並定義分區的列。應該是 SQL 服務器中的索引列,並且是任何可排序的類型。如果類型是數字或時間,則可以從 npartitionsbytes_per_chunk 推斷分區邊界;否則必須提供明確的 divisions

columnsstr 或 SqlAlchemy 列的序列或無

選擇哪些列;如果沒有,得到所有。注意可以是 str 和 SqlAlchemy 列的混合

schemastr 或 None

將此傳遞給 sqlalchemy 以選擇要在 URI 連接中使用的 DB 模式

divisions: sequence

要拆分表的索引列的值。如果給定,這將覆蓋 npartitionsbytes_per_chunk 。分區是用於定義分區的索引列的值邊界。例如,divisions=list('acegikmoqsuwz') 可用於將字符串列按字典順序劃分為 12 個分區,隱含假設每個分區包含相似數量的記錄。

npartitionsint

分區數,如果沒有給出divisions。將在 limits (如果給定)或列 max/min 之間線性拆分索引列的值。索引列必須是數字或時間才能起作用

limits: 2-tuple or None

手動給出與 npartitions 一起使用的值的上限和下限;如果沒有,首先從數據庫中獲取最大值/最小值。上限(如果給出)包括在內。

bytes_per_chunkstr 或 int

如果 divisionsnpartitions 都是 None,這是每個分區的目標大小,以字節為單位

head_rowsint

為推斷數據類型和每行內存要加載多少行

meta空 DataFrame 或 None

如果提供,不要嘗試推斷 dtypes,而是使用這些,在加載時強製所有塊

engine_kwargsdict 或 None

sqlalchemy 的特定數據庫引擎參數

kwargsdict

傳遞給pd.read_sql()的附加參數

返回

dask.dataframe

例子

>>> df = dd.read_sql_table('accounts', 'sqlite:///path/to/bank.db',
...                  npartitions=10, index_col='id')

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.dataframe.read_sql_table。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。