Apache Airflow 1.8を実行しており、ハイブクライアントラッパーのコマンドラインインターフェイス経由で接続を追加しようとしています。しかし、コマンドを実行しようとしhive_cliのコマンドラインからのエアフローへの接続の追加に失敗する
airflow connections -a --conn_id HIVE_CONN2 --conn_uri hive_cli://hiveserver/default
コマンドラインは、成功を報告しますが、コネティカットタイプは、エアフローUIと接続文句を言わない仕事で正しく設定されていません。
私はこのエラーがuri接頭辞(scheme)の_に関連していると思います。私はuri doesntがmodels.pyの下線を許すように分割するurlparse関数を確認しました。
UIで手動で設定する以外に、Airflowに接続を追加する別の方法があります - これが問題ですか?この問題を回避するには、エアフローで接続タイプにアンダースコアを使用しないでください。
connタイプを設定する必要がある理由はありますか。 私が知る限り、タイプを設定することは、UIの特定のフィールドを表示/非表示することだけです。 実際には、コードに影響を与えずにhive_idであるかのように接続にアクセスできます。 –
こんにちはダニエル - 私はちょっと混乱しています。接続タイプは、気流センサーの1つ(この場合、HivePartitionSensorを使用したハイブ接続)で行う/接続するタイプを決定するために使用されます。 Airflowリセットスクリプトは、すべての接続と構成を作成し、conn_uriにアンダースコアを含むものを必要とします。コードまたはDAGSは、特定のハイブパーティションが存在するかどうかを確認するために、HivePartitionSensorの一部としてconn_idを使用します。これらのチェックは、接続タイプが正しく設定されていないと実行できません。 – user193616
@DanielLee conn_typeは、使用するフックを決定するコードによって使用されます。 'get_hook'を参照してください。https://github.com/apache/incubator-airflow/blob/master/airflow/models.py#L660 – Davos