1
我有2個用例:最佳ETL包在Python
- 提取物,從Oracle/PostgreSQL的/紅移/ S3/CSV轉換和加載到我自己的紅移集羣
- 排定作業做日常運行/每週(INSERT + TABLE或INSERT + NONE選項更可取)。
我目前正在使用:
- SQLAlchemy的的提取物(作品以及一般)。用於轉換和加載的PETL(適用於較小的數據集,但對於〜50m +行很慢,並且與數據庫的連接超時)。
- 調度組件的內部工具(它將轉換存儲在XML中,然後存儲來自XML的加載並且看起來相當長且複雜)。
我一直在尋找this link,但會歡迎更多的建議。如果有一個「更簡單」的過程,我可以通過Python完成所有工作(我只使用Redshift,因爲它看起來是最好的選擇),所以也可以導出到Spark或類似的。
是的我正在使用Python,並希望繼續。 :)有趣的你提到熊貓。您有關於Pandas如何用於ETL的鏈接或教程?我傾向於僅將它用於數據操作。你的意思是使用SQLAlchemy進行連接(創建引擎),然後將錶轉換爲Pandas數據框,並將其導出到Redshift表中?我喜歡PETL,因爲它允許您簡單地提取/轉換/加載而不需要創建表格,但如果這更容易,我很樂意。期待你的想法。 –
正如你所提到的。使用SqlAlchemy的大熊貓。不需要臨時表只需操作DataFrame,因此它的格式適合加載到表中。如果您希望其他產品看看Pentaho或IBM的Datastage,但這些是ETL的Java前端。 –
有趣。但是,你如何使用SQLAlchemy實際加載表?你如何找到一份日常工作? Petl的速度很慢,因此「大型」數據很快。 –