2017-04-26 11 views
1

AirflowからGreenplumへの接続は可能ですか?GreenplumはPostgreSQLをベースにしているので、Greenplumマスターサーバーへの接続は可能でしょうか?Airflow <--> Greenplum

答えて

1

アンドレア、

は、私はあなたがGreenplumは以内にあなたの分析データでのETLを実行するために、エアフローを使用することができると思います。

ジョンはそのDAGはやタスクを追跡するためエアフローによって内部で使用され、バックエンドのメタデータストアとしてGreenplumはを使用する点で明らかにした提供「ノー」の答え。 Jonが例として使用したコードは、Airflowがバックエンドのメタデータストアに使用するテーブルを作成する方法です。管理対象のGreenplumデータウェアハウスの内容とは関係ありません。

私はあなたの大量分析データではなく、エアフローバックエンドではなく、Greenplumに興味があると思われます。答えはほぼ確実です。

あなたも、PostgreSQLの標準フックと演算子を使用して受け取ることがあります。

Greenplumは、標準的なPostgreSQLのPythonのAPIを使用することができることが表示されますので、私はこれを言う: https://gpdb.docs.pivotal.io/4330/admin_guide/managing/access_db.html

エアフローの標準PostgreSQLのフック&オペレータた場合あなたのために働いていない、それはあなた自身を作成することは簡単です。たとえば、Snowflakeデータウェアハウスでの私の作業を参照してください。 Snowflake Pythonコネクタを気流に統合するのは簡単なことでした。すべてのことに失敗

https://github.com/aberdave/airflow-snowflake

、あなたはエアフロー経由のGreenplumで日付を管理するために、ODBCやJDBCを使用することができるはずです。私はSnowflakeでの作業のためにPythonを使っていました。なぜなら、Pythonのコネクタをカスタマイズするのはとても簡単だったからです。

+0

ありがとう、@DaveAbercrombie。現在あなたが言及した両方の方法を試しています。 –

+0

@AndreaPrakashはあなたのための標準的なフックの仕事をしましたか? – jastang

0

いいえ気流githubリポジトリを見てみると、主キー制約とGreenplumでサポートされていない固有の制約を持つ追加の列を使用していることがわかります。例えば

op.create_table(
     'user', 
     sa.Column('id', sa.Integer(), nullable=False), 
     sa.Column('username', sa.String(length=250), nullable=True), 
     sa.Column('email', sa.String(length=500), nullable=True), 
     sa.PrimaryKeyConstraint('id'), 
     sa.UniqueConstraint('username') 
    ) 

あなたはGreenplumは内(ID)の主キーと(ユーザー名)上の別のユニーク制約を持つことはできません。

githubリポジトリには、NetezzaやTeradataなどの他のMPPデータベースプラットフォームに関する記述もありません。たぶん、気流は小さなデータ、データサイエンスですが、それは擬態語のように聞こえるかもしれません。

+0

あなた@JonRobertsをありがとうございます。 –

関連する問題