Toggle Menu
Prev Up Next

# `langchain_community.document_loaders.duckdb_loader`.DuckDBLoader

class langchain_community.document_loaders.duckdb_loader.DuckDBLoader(query: str, database: str = ':memory:', read_only: bool = False, config: Optional[Dict[str, str]] = None, page_content_columns: Optional[List[str]] = None, metadata_columns: Optional[List[str]] = None)

  Load from DuckDB.

  Each document represents one row of the result. The page_content_columns are written into the page_content of the document. The metadata_columns are written into the metadata of the document. By default, all columns are written into the page_content and none into the metadata.

  Parameters

    - query (str) – The query to execute.

    - database (str) – The database to connect to. Defaults to “:memory:”.

    - read_only (bool) – Whether to open the database in read-only mode. Defaults to False.

    - config (Optional[Dict[str, str]]) – A dictionary of configuration options to pass to the database. Optional.

    - page_content_columns (Optional[List[str]]) – The columns to write into the page_content of the document. Optional.

    - metadata_columns (Optional[List[str]]) – The columns to write into the metadata of the document. Optional.

  Methods

  `__init__`(query[, database, read_only, ...]) | param query The query to execute.
  `alazy_load`() | A lazy loader for Documents.
  `aload`() | Load data into Document objects.
  `lazy_load`() | A lazy loader for Documents.
  `load`() | Load data into Document objects.
  `load_and_split`([text_splitter]) | Load Documents and split into chunks.

  __init__(query: str, database: str = ':memory:', read_only: bool = False, config: Optional[Dict[str, str]] = None, page_content_columns: Optional[List[str]] = None, metadata_columns: Optional[List[str]] = None)
    Parameters

      - query (str) – The query to execute.

      - database (str) – The database to connect to. Defaults to “:memory:”.

      - read_only (bool) – Whether to open the database in read-only mode. Defaults to False.

      - config (Optional[Dict[str, str]]) – A dictionary of configuration options to pass to the database. Optional.

      - page_content_columns (Optional[List[str]]) – The columns to write into the page_content of the document. Optional.

      - metadata_columns (Optional[List[str]]) – The columns to write into the metadata of the document. Optional.

  async alazy_load() → AsyncIterator[Document]

    A lazy loader for Documents.

    Return type

      AsyncIterator[Document]

  async aload() → List[Document]

    Load data into Document objects.

    Return type

      List[Document]

  lazy_load() → Iterator[Document]

    A lazy loader for Documents.

    Return type

      Iterator[Document]

  load() → List[Document]

    Load data into Document objects.

    Return type

      List[Document]

  load_and_split(text_splitter: Optional[TextSplitter] = None) → List[Document]

    Load Documents and split into chunks. Chunks are returned as Documents.

    Do not override this method. It should be considered to be deprecated!

    Parameters

      text_splitter (Optional[TextSplitter]) – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

    Returns

      List of Documents.

    Return type

      List[Document]

# Examples using DuckDBLoader

- DuckDB

- duckdb.md