class_docstr: Base class for to create DBClients for engines supported by SQLAlchemy.
class_docstr_tok: ["Base","class","for","to","create","DBClients","for","engines","supported","by","SQLAlchemy","."]
code: def create_table_from_dataframe(  # noqa: D
      self,
      sql_table: SqlTable,
      df: pd.DataFrame,
      chunk_size: Optional[int] = None,
  ) -> None:
      logger.info(
          f"Creating table '{sql_table.sql}' from a DataFrame with {df.shape[0]} row(s)"
      )
      start_time = time.time()
      with self._engine_connection(self._engine) as conn:
          pd.io.sql.to_sql(
              frame=df,
              name=sql_table.table_name,
              con=conn,
              schema=sql_table.schema_name,
              index=False,
              if_exists="fail",
              method="multi",
              chunksize=chunk_size,
          )
      logger.info(
          f"Created table '{sql_table.sql}' from a DataFrame in {time.time() - start_time:.2f}s"
      )
  
imports: from __future__ import annotations
  import logging
  import time
  from abc import ABC
  from contextlib import contextmanager
  from typing import Iterator, Mapping, Optional, Sequence, Set, Union
  import pandas
  import sqlalchemy
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.sql.sql_bind_parameters import SqlBindParameters
  from metricflow.sql_request.sql_request_attributes import SqlJsonTag, SqlRequestTagSet
  from metricflow.test.fixtures.sql_clients.base_sql_client_implementation import BaseSqlClientImplementation
label_desc: Use image node_id 8 for calling the SqlAlchemySqlClient obj's underlying member method code with example usage: obj.create_table_from_dataframe(sql_table, df, chunk_size) without return types