私はETLを(mongodbバックエンドを備えたpythonで)書いていますが、疑問に思っていました.ETLをETLと呼ぶ必要がある標準関数とツールは何ですか?
この ETL は、スクリプト可能でモジュール化されたアプローチにより、可能な限り汎用的なものになります。ほとんどの場合、さまざまなデータベースの同期を維持し、さまざまな形式 (xml および csv) でデータセットをインポート/エクスポートするために使用されます。多次元ツールは必要ありませんが、後で必要になる可能性があります。
私はETLを(mongodbバックエンドを備えたpythonで)書いていますが、疑問に思っていました.ETLをETLと呼ぶ必要がある標準関数とツールは何ですか?
この ETL は、スクリプト可能でモジュール化されたアプローチにより、可能な限り汎用的なものになります。ほとんどの場合、さまざまなデータベースの同期を維持し、さまざまな形式 (xml および csv) でデータセットをインポート/エクスポートするために使用されます。多次元ツールは必要ありませんが、後で必要になる可能性があります。
ETL の使用例について少し考えてみましょう。
さらに、単一のユース ケースではない追加の要件がいくつかあります。
個々の操作はそれぞれ、Unix パイプラインで接続できる個別のプロセスである必要があり、個々のレコードはプロセスからプロセスへと流れます。これにより、すべての CPU リソースが使用されます。
ETL の前提条件を判断するのが難しい場所には、ある種の時間ベースのスケジューラが必要です。
ETL 処理ステップの前提条件を把握できる場所には、イベントベースのスケジュールが必要です。
ノート。ETL は I/O バウンドであるため、複数のスレッドはあまり役に立ちません。各プロセスは長時間実行されるため (特に処理するデータが何千行もある場合)、「重い」プロセスのオーバーヘッドは問題になりません。
以下は順不同のランダムなリストです。
列名の自動/ヒューリスティック マッピング。単純な文字列マッピングの例:
DB1: 顧客 ID
DB2: customer_id
DTS / SSIS で行った作業の多くは、自動的に生成できたはずです。