class_docstr: This hook is a wrapper around the pinot-admin.sh script.
  
  For now, only small subset of its subcommands are implemented,
  which are required to ingest offline data into Apache Pinot
  (i.e., AddSchema, AddTable, CreateSegment, and UploadSegment).
  Their command options are based on Pinot v0.1.0.
  
  Unfortunately, as of v0.1.0, pinot-admin.sh always exits with
  status code 0. To address this behavior, users can use the
  pinot_admin_system_exit flag. If its value is set to false,
  this hook evaluates the result based on the output message
  instead of the status code. This Pinot's behavior is supposed
  to be improved in the next release, which will include the
  following PR: https://github.com/apache/incubator-pinot/pull/4110
  
  :param conn_id: The name of the connection to use.
  :param cmd_path: Do not modify the parameter. It used to be the filepath to the pinot-admin.sh
         executable but in version 4.0.0 of apache-pinot provider, value of this parameter must
         remain the default value: `pinot-admin.sh`. It is left here to not accidentally override
         the `pinot_admin_system_exit` in case positional parameters were used to initialize the hook.
  :param pinot_admin_system_exit: If true, the result is evaluated based on the status code.
                                  Otherwise, the result is evaluated as a failure if "Error" or
                                  "Exception" is in the output message.
docstr: Add Pinot schema by run AddSchema command.
  
  :param schema_file: Pinot schema file
  :param with_exec: bool
docstr_tok: ["Add","Pinot","schema","by","run","AddSchema","command",".",":","param","schema_file",":","Pinot","schema","file",":","param","with_exec",":","bool"]
code: def add_schema(self, schema_file: str, with_exec: bool = True) -> Any:
      """
      Add Pinot schema by run AddSchema command.
  
      :param schema_file: Pinot schema file
      :param with_exec: bool
      """
      cmd = ["AddSchema"]
      cmd += ["-controllerHost", self.host]
      cmd += ["-controllerPort", self.port]
      cmd += ["-schemaFile", schema_file]
      if with_exec:
          cmd += ["-exec"]
      self.run_cli(cmd)
  
imports: from __future__ import annotations
  import os
  import subprocess
  from typing import TYPE_CHECKING, Any, Iterable, Mapping
  from pinotdb import connect
  from airflow.exceptions import AirflowException
  from airflow.hooks.base import BaseHook
  from airflow.providers.common.sql.hooks.sql import DbApiHook
label_desc: Use image node_id 3 for calling the PinotAdminHook obj's underlying member method code with example usage: obj.add_schema(schema_file, with_exec) without return types