airflow.providers.apache.hive.transfers.mysql_to_hive

此模組包含一個將資料從 MySQL 移至 Hive 的運算子。

模組內容

類別

MySqlToHiveOperator

將資料從 MySql 移至 Hive。

class airflow.providers.apache.hive.transfers.mysql_to_hive.MySqlToHiveOperator(*, sql, hive_table, create=True, recreate=False, partition=None, delimiter=chr(1), quoting=None, quotechar='"', escapechar=None, mysql_conn_id='mysql_default', hive_cli_conn_id='hive_cli_default', hive_auth=None, tblproperties=None, **kwargs)[原始碼]

基底類別: airflow.models.BaseOperator

將資料從 MySql 移至 Hive。

此運算子針對 MySQL 執行您的查詢,將檔案儲存在本機,然後載入到 Hive 表格中。

如果 createrecreate 參數設定為 True,則會產生 CREATE TABLEDROP TABLE 陳述式。Hive 資料類型會從游標的中繼資料推斷而來。請注意,在 Hive 中產生的表格使用 STORED AS textfile,這不是效率最高的序列化格式。如果載入大量資料,和/或表格被頻繁查詢,您可能會希望僅使用此運算子將資料暫存到臨時表格中,然後使用 HiveOperator 將其載入到最終目的地。

參數
  • sql (str) – 要對 MySQL 資料庫執行的 SQL 查詢。(樣板化)

  • hive_table (str) – 目標 Hive 表格,使用點表示法來指定特定的資料庫。(樣板化)

  • create (bool) – 是否在表格不存在時建立表格

  • recreate (bool) – 是否在每次執行時刪除並重建表格

  • partition (dict | None) – 目標分割區,以分割區欄位和值的字典形式表示。(樣板化)

  • delimiter (str) – 檔案中的欄位分隔符號

  • quoting (int | None) – 控制 csv 寫入器何時應產生引號,它可以採用任何 csv.QUOTE_* 常數。

  • quotechar (str) – 用於引用包含特殊字元的欄位的單字元字串。

  • escapechar (str | None) – csv 寫入器用於跳脫分隔符號或 quotechar 的單字元字串。

  • mysql_conn_id (str) – 來源 mysql 連線

  • hive_cli_conn_id (str) – 參考至 Hive CLI 連線 ID

  • hive_auth (str | None) – 為 Hive 連線傳遞的可選驗證選項

  • tblproperties (dict | None) – 正在建立的 Hive 表格的 TBLPROPERTIES

template_fields: collections.abc.Sequence[str] = ('sql', 'partition', 'hive_table')[原始碼]
template_ext: collections.abc.Sequence[str] = ('.sql',)[原始碼]
template_fields_renderers[原始碼]
ui_color = '#a0e08c'[原始碼]
classmethod type_map(mysql_type)[原始碼]

將 MySQL 類型對應到 Hive 類型。

execute(context)[原始碼]

在建立運算子時衍生。

Context 是與呈現 jinja 範本時使用的相同字典。

請參閱 get_template_context 以取得更多上下文。

此條目是否有幫助?