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 檔案。

此條目是否有幫助?