airflow.providers.apache.hive.transfers.s3_to_hive

此模块包含一个将数据从 S3 存储桶移动到 Hive 的操作符。

模块内容

S3ToHiveOperator

将数据从 S3 移动到 Hive。

函数

uncompress_file(input_file_name, file_extension, dest_dir)

解压 gz 和 bz2 文件。

class airflow.providers.apache.hive.transfers.s3_to_hive.S3ToHiveOperator(*, s3_key, field_dict, hive_table, delimiter=',', create=True, recreate=False, partition=None, headers=False, check_headers=False, wildcard_match=False, aws_conn_id='aws_default', verify=None, hive_cli_conn_id='hive_cli_default', input_compressed=False, tblproperties=None, select_expression=None, hive_auth=None, **kwargs)[来源]

基类:airflow.models.BaseOperator

将数据从 S3 移动到 Hive。

该操作符从 S3 下载文件,将文件存储在本地,然后再加载到 Hive 表中。

如果 createrecreate 参数设置为 True,则会生成 CREATE TABLEDROP TABLE 语句。Hive 数据类型是从游标的元数据中推断出来的。

请注意,在 Hive 中生成的表使用 STORED AS textfile,这不是最有效的序列化格式。如果加载大量数据和/或如果表被频繁查询,您可能只想使用此操作符将数据暂存到一个临时表中,然后再使用 HiveOperator 将其加载到最终目的地。

参数
  • s3_key (str) – 要从 S3 中检索的键。(模板化)

  • field_dict (dict) – 文件中字段名称作为键,其 Hive 类型作为值的字典

  • hive_table (str) – 目标 Hive 表,使用点表示法来定位特定数据库。(模板化)

  • delimiter (str) – 文件中的字段分隔符

  • create (bool) – 如果表不存在是否创建表

  • recreate (bool) – 是否在每次执行时删除并重新创建表

  • partition (dict | None) – 目标分区,以分区列和值作为字典。(模板化)

  • headers (bool) – 文件第一行是否包含列名

  • check_headers (bool) – 是否应该将第一行的列名与 field_dict 的键进行检查

  • wildcard_match (bool) – s3_key 是否应该被解释为 Unix 通配符模式

  • aws_conn_id (str | None) – 源 s3 连接

  • verify (bool | str | None) –

    是否验证 S3 连接的 SSL 证书。默认情况下,SSL 证书会被验证。您可以提供以下值

    • False:不验证 SSL 证书。SSL 仍然会被使用

      (除非 use_ssl 为 False),但是 SSL 证书将不被验证。

    • path/to/cert/bundle.pem:要使用的 CA 证书捆绑文件的文件名。

      如果您想使用与 botocore 使用的不同的 CA 证书捆绑包,则可以指定此参数。

  • hive_cli_conn_id (str) – 引用 Hive CLI 连接 ID

  • input_compressed (bool) – 一个布尔值,用于确定是否需要解压文件来处理标头

  • tblproperties (dict | None) – 创建的 Hive 表的 TBLPROPERTIES

  • select_expression (str | None) – S3 Select 表达式

template_fields: collections.abc.Sequence[str] = ('s3_key', 'partition', 'hive_table')[来源]
template_ext: collections.abc.Sequence[str] = ()[来源]
ui_color = '#a0e08c'[来源]
execute(context)[来源]

在创建操作符时派生。

上下文与渲染 Jinja 模板时使用的字典相同。

请参阅 get_template_context 以获取更多上下文。

airflow.providers.apache.hive.transfers.s3_to_hive.uncompress_file(input_file_name, file_extension, dest_dir)[源代码]

解压 gz 和 bz2 文件。

此条目是否有帮助?