2017-04-26 49 views

回答

1

安德烈,

我認爲你可以使用氣流對內的Greenplum的分析數據運行的ETL。

Jon提供的「否」答案顯然與將Greenplum用作後端元數據存儲有關,Airflow在內部使用它來跟蹤其DAG和任務。 Jon用作示例的代碼是Airflow爲其後端元數據存儲創建的表,這與您要管理的Greenplum數據倉庫的內容無關。

我懷疑你對Greenplum感興趣的是你的高容量分析數據,而不是Airflow後端。所以答案几乎肯定是的!

你甚至可以通過使用標準的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

做不到這一切,你應該能夠使用ODBC或JDBC通過氣流管理Greenplum的日期。我使用Python與Snowflake一起工作,因爲定製它們的Python連接器非常容易。

+0

謝謝@DaveAbercrombie。目前正在嘗試你提到的兩種方法。 –

+0

@AndreaPrakash爲你做了標準的鉤子工作? – jastang

0

不可以。快速瀏覽一下Airflow github repo,它表明它們使用的是主鍵約束,另外還有一個帶有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數據庫平臺。也許Airflow適用於小數據,數據科學,但這聽起來像是一種矛盾。

+0

謝謝@JonRoberts。 –

相關問題