code: def _dict_to_sql_row(
      dict_row: dict, columns: List[ColumnCatalogEntry]
  ):
      # Serialize numpy data
      for col in columns:
          if col.type == ColumnType.NDARRAY:
              dict_row[col.name] = PickleSerializer.serialize(
                  dict_row[col.name]
              )
          elif isinstance(dict_row[col.name], (np.generic,)):
              # Sqlalchemy does not consume numpy generic data types
              # convert numpy datatype to python generic datatype using tolist()
              # eg. np.int64 -> int
              # https://stackoverflow.com/a/53067954
              dict_row[col.name] = dict_row[col.name].tolist()
      return dict_row
  
imports: from typing import Iterator, List
  import numpy
  import pandas
  from sqlalchemy import Column, MetaData, Table, create_engine
  from sqlalchemy.ext.declarative import declarative_base
  from sqlalchemy.orm import sessionmaker
  from evadb.catalog.catalog_type import ColumnType
  from evadb.catalog.models.table_catalog import TableCatalogEntry
  from evadb.catalog.models.utils import ColumnCatalogEntry
  from evadb.catalog.schema_utils import SchemaUtils
  from evadb.database import EvaDBDatabase
  from evadb.models.storage.batch import Batch
  from evadb.storage.abstract_storage_engine import AbstractStorageEngine
  from evadb.third_party.databases.interface import get_database_handler
  from evadb.utils.generic_utils import PickleSerializer, rebatch
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 2 for calling a global function with example usage: _dict_to_sql_row(dict_row, columns) and returns: dict_row