airflow.providers.apache.hive.transfers.s3_to_hive¶
此模块包含一个 Operator,用于将数据从 S3 存储桶移动到 Hive。
类¶
将数据从 S3 移动到 Hive。 |
函数¶
|
解压 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 表中。
如果将
create
或recreate
参数设置为True
,则会生成CREATE TABLE
和DROP 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 连接
是否验证 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]¶