airflow.providers.apache.hive.transfers.s3_to_hive

此模块包含一个 Operator,用于将数据从 S3 存储桶移动到 Hive。

S3ToHiveOperator

将数据从 S3 移动到 Hive。

函数

uncompress_file(input_file_name, file_extension, dest_dir)

解压 gz 和 bz2 文件。

模块内容

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)[source]

Bases: airflow.models.BaseOperator

将数据从 S3 移动到 Hive。

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

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

请注意,在 Hive 中生成的表使用 STORED AS textfile,这不是最高效的序列化格式。如果加载大量数据或频繁查询表,您可能希望仅使用此 Operator 将数据暂存到临时表中,然后使用 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 表达式

模板字段: collections.abc.Sequence[str] = ('s3_key', 'partition', 'hive_table')[source]
模板扩展名: collections.abc.Sequence[str] = ()[source]
UI颜色 = '#a0e08c'[source]
s3_key[source]
field_dict[source]
hive_table[source]
delimiter = ','[source]
create = True[source]
recreate = False[source]
partition = None[source]
headers = False[source]
check_headers = False[source]
wildcard_match = False[source]
hive_cli_conn_id = 'hive_cli_default'[source]
aws_conn_id = 'aws_default'[source]
verify = None[source]
input_compressed = False[source]
tblproperties = None[source]
select_expression = None[source]
hive_auth = None[source]
执行(context)[source]

创建 Operator 时派生。

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

更多上下文信息请参阅 get_template_context。

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

解压 gz 和 bz2 文件。

此条目是否有帮助?