class_docstr: Converts a dataflow plan to an execution plan.
class_docstr_tok: ["Converts","a","dataflow","plan","to","an","execution","plan","."]
docstr: Constructor.
  
  Args:
      sql_plan_converter: Converts a dataflow plan node to a SQL query plan
      sql_plan_renderer: Converts a SQL query plan to SQL text
      sql_client: The client to use for running queries.
      extra_sql_tags: Tags to supply to the SQL client when running statements.
docstr_tok: ["Constructor",".","Args",":","sql_plan_converter",":","Converts","a","dataflow","plan","node","to","a","SQL","query","plan","sql_plan_renderer",":","Converts","a","SQL","query","plan","to","SQL","text","sql_client",":","The","client","to","use","for","running","queries",".","extra_sql_tags",":","Tags","to","supply","to","the","SQL","client","when","running","statements","."]
code: def __init__(
      self,
      sql_plan_converter: DataflowToSqlQueryPlanConverter,
      sql_plan_renderer: SqlQueryPlanRenderer,
      sql_client: SqlClient,
      extra_sql_tags: SqlJsonTag = SqlJsonTag(),
  ) -> None:
      """Constructor.
  
      Args:
          sql_plan_converter: Converts a dataflow plan node to a SQL query plan
          sql_plan_renderer: Converts a SQL query plan to SQL text
          sql_client: The client to use for running queries.
          extra_sql_tags: Tags to supply to the SQL client when running statements.
      """
      self._sql_plan_converter = sql_plan_converter
      self._sql_plan_renderer = sql_plan_renderer
      self._sql_client = sql_client
      self._sql_tags = extra_sql_tags
  
file_path: metricflow/metricflow/plan_conversion/dataflow_to_execution.py
imports: from __future__ import annotations
  import logging
  from typing import Optional, Union
  from metricflow.dag.id_generation import EXEC_PLAN_PREFIX, SQL_QUERY_PLAN_PREFIX, IdGeneratorRegistry
  from metricflow.dataflow.dataflow_plan import BaseOutput, ComputedMetricsOutput, DataflowPlan, SinkNodeVisitor, WriteToResultDataframeNode, WriteToResultTableNode
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.execution.execution_plan import ExecutionPlan, ExecutionPlanTask, SelectSqlQueryToDataFrameTask, SelectSqlQueryToTableTask
  from metricflow.plan_conversion.dataflow_to_sql import DataflowToSqlQueryPlanConverter
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.sql.render.sql_plan_renderer import SqlQueryPlanRenderer
  from metricflow.sql.sql_plan import SqlQueryPlan
  from metricflow.sql.sql_plan_to_text import sql_query_plan_as_text
  from metricflow.sql_request.sql_request_attributes import SqlJsonTag
label_desc: Use image node_id 1 to create a new DataflowToExecutionPlanConverter object from inherited base classes: SinkNodeVisitor with example: obj = DataflowToExecutionPlanConverter(sql_plan_converter, sql_plan_renderer, sql_client, extra_sql_tags)