是否可以建立從Airflow到Greenplum的連接?請記住,Greenplum基於PostgreSQL,是否可以建立到Greenplum主服務器的連接?Airflow <--> Greenplum
回答
安德烈,
我認爲你可以使用氣流對內的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連接器非常容易。
不可以。快速瀏覽一下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適用於小數據,數據科學,但這聽起來像是一種矛盾。
謝謝@JonRoberts。 –
- 1. Airflow - BACKFILLING
- 2. 浮動元素<br /><br /><br /><br /><br /\><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
- 3. 使用>>,>,> |,||,| <,<,<<,<<
- 4. 如</p> <p><code><p>This is text </p></code>或<code><div></code>或<code>This is text</code></p> <p>使用<code>XmlPullParser</code>檢索URL
- 5. 使<b></b><i></i><u>在文本框</u>和<br>
- 6. <%# %> VS <%= %>
- 7. <ContentControl><ContentPresenter /></ ContentControl>?
- 8. <textview></textview>與<textview />
- 9. <TextView /> OR <TextView></TextView>
- 10. <script></script> or <script />?
- 11. ArrayList <Object <ArrayList <Object> >>
- 12. <asp:XXXX > vs <%# %>/<%@ %>
- 13. 含義值抓<code>R = 0</code>,<code>R = S</code>,<code>R = S*Da</code>含義和<code>kCGBlendMode</code>值如<code>kCGBlendModeClear</code>,<code>kCGBlendModeCopy</code>,<code>kCGBlendModeSourceIn</code>定義
- 14. 的MySQL/PHP:<code>id</code>,<code>name</code>,<code>category</code>和一個<code>ratings</code>表列:<code>id</code>,<code>item</code>,<code>rating</code>如何使用JOIN語句
- 15. 的Grails:前</p> <pre><code><g:if test="${foo.bar}"> </code></pre> <p>和</p> <pre><code><g:if test="\${foo.bar}"> </code></pre> <p>使用 「\」 的真正爲例:\ $ {}和$ {}
- 16. 通配符搜索<pre><code>IsCurrent </code></pre> <p>換句話說找到</p> <pre><code>get_XXXX(); </code></pre> <p>與</p> <pre><code>XXXX; </code></pre> <p>我試圖做到這一點是較大的文件</p>
- 17. XSD <element><complexType><sequence>與<element><sequence>
- 18. 使用</p> <pre><code>$programItem[0]->Name </code></pre> <p>在名稱
- 19. IList <IList<T>>到IReadonlyCollection <IReadonlyCollection <T>>
- 20. 汽車中心<div><div></div></div>
- 21. <a></a><a></a>標籤
- 22. 區別</html:html>之間<html:html><html></html>
- 23. 如何<li><a></a></li>
- 24. Rewrite <sub> .domain.com/<path> to/subdomains/<sub>/<path>
- 25. convert <vector><string> TO <vector><int> C++,Win32
- 26. inoremap <Tab><Esc> and <C-I><Tab>
- 27. <div><a /></div> instead of <button />?
- 28. Airflow default on_failure_callback
- 29. 左右括號 - 爲什麼?</p> <pre><code>const Todos = ({todos}) => ( <div> <h1>Todos</h1> {todos.map(todo => <p key={todo}>{todo}</p>)} </div> ) </code></pre> <p>爲什麼參數周圍有括號:
- 30. cognos greenplum pg_catalog
謝謝@DaveAbercrombie。目前正在嘗試你提到的兩種方法。 –
@AndreaPrakash爲你做了標準的鉤子工作? – jastang