class_docstr: Allows to submit a task directly to druid.
  
  :param json_index_file: The filepath to the druid index specification
  :param druid_ingest_conn_id: The connection id of the Druid overlord which
      accepts index jobs
  :param timeout: The interval (in seconds) between polling the Druid job for the status
      of the ingestion job. Must be greater than or equal to 1
  :param max_ingestion_time: The maximum ingestion time before assuming the job failed
  :param ingestion_type: The ingestion type of the job. Could be IngestionType.Batch or IngestionType.MSQ
code: def execute(self, context: Context) -> None:
      hook = DruidHook(
          druid_ingest_conn_id=self.conn_id,
          timeout=self.timeout,
          max_ingestion_time=self.max_ingestion_time,
      )
      self.log.info("Submitting %s", self.json_index_file)
      hook.submit_indexing_job(
          self.json_index_file, self.ingestion_type
      )
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any, Sequence
  from airflow.models import BaseOperator
  from airflow.providers.apache.druid.hooks.druid import DruidHook, IngestionType
label_desc: Use image node_id 2 for calling the DruidOperator obj's underlying member method code with example usage: obj.execute(context) without return types