airflow.providers.apache.druid.transfers.hive_to_druid

该模块包含用于将数据从 Hive 移动到 Druid 的操作符。

属性

LOAD_CHECK_INTERVAL

DEFAULT_TARGET_PARTITION_SIZE

HiveToDruidOperator

将数据从 Hive 移动到 Druid。

模块内容

airflow.providers.apache.druid.transfers.hive_to_druid.LOAD_CHECK_INTERVAL = 5[源码]
airflow.providers.apache.druid.transfers.hive_to_druid.DEFAULT_TARGET_PARTITION_SIZE = 5000000[源码]
airflow.providers.apache.druid.transfers.hive_to_druid.HiveToDruidOperator(*, sql, druid_datasource, ts_dim, metric_spec=None, hive_cli_conn_id='hive_cli_default', druid_ingest_conn_id='druid_ingest_default', metastore_conn_id='metastore_default', hadoop_dependency_coordinates=None, intervals=None, num_shards=-1, target_partition_size=-1, query_granularity='NONE', segment_granularity='DAY', hive_tblproperties=None, job_properties=None, **kwargs)[源码]

基类:airflow.models.BaseOperator

将数据从 Hive 移动到 Druid。

[del]请注意,目前数据在推送到 Druid 之前会加载到内存中,因此此操作符应仅用于少量数据。[/del]

参数:
  • sql (str) – 要对 Druid 数据库执行的 SQL 查询。(模板化)

  • druid_datasource (str) – 您想在 Druid 中摄取到其中的数据源

  • ts_dim (str) – 时间戳维度

  • metric_spec (list[Any] | None) – 您想为数据定义的指标

  • hive_cli_conn_id (str) – Hive 连接 ID

  • druid_ingest_conn_id (str) – Druid 摄取连接 ID

  • metastore_conn_id (str) – Metastore 连接 ID

  • hadoop_dependency_coordinates (list[str] | None) – 要嵌入到摄取 JSON 中的坐标列表

  • intervals (list[Any] | None) – 定义段的时间间隔列表,此参数会按原样传递给 JSON 对象。(模板化)

  • num_shards (float) – 直接指定要创建的分片数量。

  • target_partition_size (int) – 分区中包含的目标行数,

  • query_granularity (str) – 查询结果时可以使用的最小粒度以及段内数据的粒度。例如,值“minute”意味着数据按分钟粒度进行聚合。也就是说,如果在元组(minute(timestamp), dimensions)中存在冲突,那么它将使用聚合器将值聚合在一起,而不是存储单独的行。粒度为“NONE”表示毫秒粒度。

  • segment_granularity (str) – 创建时间块时的粒度。每个时间块可以创建多个段。例如,使用“DAY” segmentGranularity 时,同一天的事件会落入同一时间块,可以根据其他配置和输入大小选择性地进一步分区为多个段。

  • hive_tblproperties (dict[Any, Any] | None) – Hive 中用于暂存表的 tblproperties 的附加属性

  • job_properties (dict[Any, Any] | None) – 作业的附加属性

template_fields: collections.abc.Sequence[str] = ('sql', 'intervals')[源码]
template_ext: collections.abc.Sequence[str] = ('.sql',)[源码]
template_fields_renderers[源码]
sql[源码]
druid_datasource[源码]
ts_dim[源码]
intervals = ['{{ ds }}/{{ logical_date.add_days(1) | ds }}'][源码]
num_shards = -1[源码]
target_partition_size = -1[源码]
query_granularity = 'NONE'[源码]
segment_granularity = 'DAY'[源码]
metric_spec[源码]
hive_cli_conn_id = 'hive_cli_default'[源码]
hadoop_dependency_coordinates = None[源码]
druid_ingest_conn_id = 'druid_ingest_default'[源码]
metastore_conn_id = 'metastore_default'[源码]
hive_tblproperties[源码]
job_properties = None[源码]
execute(context)[源码]

在创建操作符时派生。

Context 是渲染 Jinja 模板时使用的相同字典。

有关更多上下文,请参阅 get_template_context。

construct_ingest_query(static_path, columns)[源码]

构建用于 HDFS TSV 加载的摄取查询。

参数:
  • static_path (str) – 数据所在的 HDFS 路径

  • columns (list[str]) – 所有可用列的列表

本条目有帮助吗?