class_docstr: Submit request about Kylin build/refresh/merge and track job status.
  
  For more detail information in
  `Apache Kylin <http://kylin.apache.org/>`_
  
  :param kylin_conn_id: The connection id as configured in Airflow administration.
  :param project: kylin project name, this param will overwrite the project in kylin_conn_id:
  :param cube: kylin cube name
  :param dsn: (dsn , dsn url of kylin connection ,which will overwrite kylin_conn_id.
      for example: kylin://ADMIN:KYLIN@sandbox/learn_kylin?timeout=60&is_debug=1)
  :param command: (kylin command include 'build', 'merge', 'refresh', 'delete',
      'build_streaming', 'merge_streaming', 'refresh_streaming', 'disable', 'enable',
      'purge', 'clone', 'drop'.
      build - use /kylin/api/cubes/{cubeName}/build rest api,and buildType is 'BUILD',
      and you should give start_time and end_time
      refresh - use build rest api,and buildType is 'REFRESH'
      merge - use build rest api,and buildType is 'MERGE'
      build_streaming - use /kylin/api/cubes/{cubeName}/build2 rest api,and buildType is 'BUILD'
      and you should give offset_start and offset_end
      refresh_streaming - use build2 rest api,and buildType is 'REFRESH'
      merge_streaming - use build2 rest api,and buildType is 'MERGE'
      delete - delete segment, and you should give segment_name value
      disable - disable cube
      enable - enable cube
      purge - purge cube
      clone - clone cube,new cube name is {cube_name}_clone
      drop - drop cube)
  :param start_time: build segment start time
  :param end_time: build segment end time
  :param offset_start: streaming build segment start time
  :param offset_end: streaming build segment end time
  :param segment_name: segment name
  :param is_track_job: (whether to track job status. if value is True,will track job until
      job status is in("FINISHED", "ERROR", "DISCARDED", "KILLED", "SUICIDAL",
      "STOPPED") or timeout)
  :param interval: track job status,default value is 60s
  :param timeout: timeout value,default value is 1 day,60 * 60 * 24 s
  :param eager_error_status: (jobs error status,if job status in this list ,this task will be error.
      default value is tuple(["ERROR", "DISCARDED", "KILLED", "SUICIDAL", "STOPPED"]))
class_docstr_tok: ["Submit","request","about","Kylin","build\/refresh\/merge","and","track","job","status",".","For","more","detail","information","in","`","Apache","Kylin","<","http",":","\/\/kylin.apache.org\/",">","`","_",":","param","kylin_conn_id",":","The","connection","id","as","configured","in","Airflow","administration",".",":","param","project",":","kylin","project","name",",","this","param","will","overwrite","the","project","in","kylin_conn_id",":",":","param","cube",":","kylin","cube","name",":","param","dsn",":","(","dsn",",","dsn","url","of","kylin","connection",",","which","will","overwrite","kylin_conn_id",".","for","example",":","kylin",":","\/\/ADMIN",":","KYLIN","@","sandbox\/learn_kylin","?","timeout=60","&","is_debug=1",")",":","param","command",":","(","kylin","command","include","'build","'",",","'merge","'",",","'refresh","'",",","'delete","'",",","'build_streaming","'",",","'merge_streaming","'",",","'refresh_streaming","'",",","'disable","'",",","'enable","'",",","'purge","'",",","'clone","'",",","'drop","'",".","build","-","use","\/kylin\/api\/cubes\/","{","cubeName","}","\/build","rest","api",",","and","buildType","is","'BUILD","'",",","and","you","should","give","start_time","and","end_time","refresh","-","use","build","rest","api",",","and","buildType","is","'REFRESH'","merge","-","use","build","rest","api",",","and","buildType","is","'MERGE'","build_streaming","-","use","\/kylin\/api\/cubes\/","{","cubeName","}","\/build2","rest","api",",","and","buildType","is","'BUILD'","and","you","should","give","offset_start","and","offset_end","refresh_streaming","-","use","build2","rest","api",",","and","buildType","is","'REFRESH'","merge_streaming","-","use","build2","rest","api",",","and","buildType","is","'MERGE'","delete","-","delete","segment",",","and","you","should","give","segment_name","value","disable","-","disable","cube","enable","-","enable","cube","purge","-","purge","cube","clone","-","clone","cube",",","new","cube","name","is","{","cube_name","}","_clone","drop","-","drop","cube",")",":","param","start_time",":","build","segment","start","time",":","param","end_time",":","build","segment","end","time",":","param","offset_start",":","streaming","build","segment","start","time",":","param","offset_end",":","streaming","build","segment","end","time",":","param","segment_name",":","segment","name",":","param","is_track_job",":","(","whether","to","track","job","status",".","if","value","is","True",",","will","track","job","until","job","status","is","in","(","``","FINISHED","''",",","``","ERROR","''",",","``","DISCARDED","''",",","``","KILLED","''",",","``","SUICIDAL","''",",","``","STOPPED","''",")","or","timeout",")",":","param","interval",":","track","job","status",",","default","value","is","60s",":","param","timeout",":","timeout","value",",","default","value","is","1","day,60","*","60","*","24","s",":","param","eager_error_status",":","(","jobs","error","status",",","if","job","status","in","this","list",",","this","task","will","be","error",".","default","value","is","tuple","(","[","``","ERROR","''",",","``","DISCARDED","''",",","``","KILLED","''",",","``","SUICIDAL","''",",","``","STOPPED","''","]",")",")"]
code: def __init__(
      self,
      *,
      kylin_conn_id: str = "kylin_default",
      project: str | None = None,
      cube: str | None = None,
      dsn: str | None = None,
      command: str | None = None,
      start_time: str | None = None,
      end_time: str | None = None,
      offset_start: str | None = None,
      offset_end: str | None = None,
      segment_name: str | None = None,
      is_track_job: bool = False,
      interval: int = 60,
      timeout: int = 60 * 60 * 24,
      eager_error_status=(
          "ERROR",
          "DISCARDED",
          "KILLED",
          "SUICIDAL",
          "STOPPED",
      ),
      **kwargs,
  ):
      super().__init__(**kwargs)
      self.kylin_conn_id = kylin_conn_id
      self.project = project
      self.cube = cube
      self.dsn = dsn
      self.command = command
      self.start_time = start_time
      self.end_time = end_time
      self.segment_name = segment_name
      self.offset_start = offset_start
      self.offset_end = offset_end
      self.is_track_job = is_track_job
      self.interval = interval
      self.timeout = timeout
      self.eager_error_status = eager_error_status
      self.jobs_error_status = [
          stat.upper() for stat in eager_error_status
      ]
  
file_path: airflow/airflow/providers/apache/kylin/operators/kylin_cube.py
imports: from __future__ import annotations
  import time
  from datetime import datetime
  from typing import TYPE_CHECKING, Sequence
  from kylinpy import kylinpy
  from airflow.exceptions import AirflowException
  from airflow.models import BaseOperator
  from airflow.providers.apache.kylin.hooks.kylin import KylinHook
label_desc: Use image node_id 1 to create a new KylinCubeOperator object from inherited base classes: BaseOperator with example: obj = KylinCubeOperator()