class_docstr: Hubspot Companies table.
code: def update_companies(
      self, company_ids: List[Text], values_to_update: Dict[Text, Any]
  ) -> None:
      hubspot = self.handler.connect()
      companies_to_update = [
          HubSpotObjectBatchInput(
              id=company_id, properties=values_to_update
          )
          for company_id in company_ids
      ]
      try:
          updated_companies = hubspot.crm.companies.batch_api.update(
              HubSpotBatchObjectBatchInput(inputs=companies_to_update),
          )
          logger.info(
              f"Companies with ID {[updated_company.id for updated_company in updated_companies.results]} updated"
          )
      except Exception as e:
          raise Exception(f"Companies update failed {e}")
  
imports: import pandas
  from hubspot.crm.objects import SimplePublicObjectId, SimplePublicObjectBatchInput, SimplePublicObjectInputForCreate, BatchInputSimplePublicObjectId, BatchInputSimplePublicObjectBatchInput, BatchInputSimplePublicObjectInputForCreate
  from mindsdb_sql.parser import ast
  from mindsdb.integrations.handlers.utilities.query_utilities import INSERTQueryParser, SELECTQueryParser, UPDATEQueryParser, DELETEQueryParser, SELECTQueryExecutor, UPDATEQueryExecutor, DELETEQueryExecutor
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb.utilities import log
label_desc: Use image node_id 8 for calling the CompaniesTable obj's underlying member method code with example usage: obj.update_companies(company_ids, values_to_update) without return types