2

私はソフトウェア自動ビルドツール(Automated Build Studioなど)に精通しています。今、私はETLツールを見ています。

私の頭に浮かぶのは、ソフトウェアビルドツールを使用することで、ETLツールでできることは何でもできるということです。ETLツールは、データの読み込みと操作に合わせて調整されており、そのために多くのスクリプトが必要になります。一方、ソフトウェアビルドツールは、任意の形式のデータを任意の形式に抽出、変換、およびロードするためのスクリプトの作成など、あらゆるジョブを実行するのに十分な汎用性を備えています。

私は正しいですか?

4

5 に答える 5

3

好みの開発ツールを使用して作成された独自のETLスクリプトをロールアウトできるのは正しいことです。そうは言っても、ETLジョブは(より良い言葉がないために)しばしば大きく、かなりの管理と細部への注意(プログラミングなど)を必要とします。ETLツールを使用すると、開発者はコードの記述やデバッグではなく、ETLタスクに集中できますが、それもその一部です。そこにはいくつかのオープンソースツールがあるので、カスタム開発に飛び込む前に、平均的なツールが何をするのかを感じることができます。たとえば、より高価なツールはデータ系統を提供します。つまり、すべての変換(バージョンを含む)を通じて、レポートのすべてのフィールドを元のテーブルに(グラフィックで)追跡できます。企業合併後、それはかなりの仕事です。
例えばPentahoにはコミュニティエディションがあります; MS SQL Serverを使用している場合は、SSISを入手できます。また、ここで何かを見つけることができるかどうかを確認。

于 2009-11-13T13:53:31.180 に答える
1

ETLツールの利点は、構築するプロセスが多数ある場合に最大化されます(100本の釘を打ち込むこととの類似性に関する上記のjsf80238の投稿が好きです)。実際のETLツールの主な利点は、それらが生成するメタデータと運用サポートです。Perl / Ruby / etcでスクリプトを書くのはかなり簡単ですが、問題を追跡する必要がある場合や、作成者以外の誰かが何が問題なのかを把握する必要がある場合は機能しません。管理者/サポートスタッフが問題をすばやく確認できる機能は次のとおりです。お金を払う価値があるもの。私はMicrosoftのSSIS(2005-OK)と最新のPentaho PDI(かなり良い)を使用しました。Pentaho ETL GUIは、私の職場でビジネスユーザー(99%の時間ITサポートなし)によって使用されており、SQLスクリプトとスプレッドシートのもつれに取って代わりました。Pentahoスタックの残りの部分について好きなことを言ってください。ただし、ETLコンポーネントは次のとおりです。

于 2010-05-20T01:31:29.230 に答える
1

ETLのビジネス全体は、データのソースが宛先データソースと互換性がないという前提に基づいています。そして、多くの場合、ソースデータをダンプする人々は、このデータを収集して集約する必要があるとは考えていない可能性があります。これが、ETLのビジネス全体が存在する理由です。

市販のETLツールは、ソース入力を魔法のように読み取り、宛先データベースのルールに従ってデータを変換しません。ルールを定義して、ETLツールにフィードする必要があります。興味深いことに、多くの企業がトレーニングを提供しています!!! 独自のスクリプト言語の使用方法について。したがって、それは必ずしも簡単ではありません。しかし、プログラマー以外の人にとっては、おそらくこれが好ましいルートです。

個人的には、Perlのような言語で独自のETLツールを作成する方が常に簡単だと思います。ステートマシンアルゴリズムを記述して、ソースデータをリッピングし、目的の形式に変換するだけです。私はPerlを使用してマシンにFTPで転送し、ファイルを読み込み、データを変換してから、データベースにロードします。これは常に優れたソリューションであり、Perlなどに習熟している場合、またはPerlを知っている人を雇うことができる場合ははるかに高速です。

そして最後のポイントは、終わりを念頭に置いて開始することです。ソースデータを構造化された形式でダンプして、を集約して調査したい会社の分析グループを支援します。これにより、ETLプログラムの開発がより簡単かつ迅速になります。

于 2011-11-03T19:07:24.973 に答える
0

Damir Sudarevicの答えが好きで、ツールの選択は目の前の作業量にも依存する可能性があることを付け加えたいと思います。たまにETLタスクがあり、そのタスクを実行できるツールに既に精通している場合は、既に知っているツールを使用してください(このアプローチでは、新しいツールの学習にゼロ値が割り当てられ、新しい知識を過小評価している可能性があります)。ETLタスクがたくさんある場合は、新しいツールを学習するための先行投資が十分に報われる可能性があります。ペンチを使用して釘を打ち込むことができます。釘が1つしかない場合は、ペンチを使用できます。100本の釘を打ち込む必要がある場合は、ハンマーを手に入れてください。

于 2009-11-22T02:59:31.290 に答える
0

また、ETLツールがコードで実行できることは何でも実行できます。:-)

あなたが言及した両方のツールカテゴリを使用してこの問題を解決できますが、解決しようとしている問題のクラスに合わせて最適化されています。

  • ETLには、データ操作ツール(関係論理、インライン計算など)のライブラリが付属している傾向があり、大量のデータを処理するように最適化されており、ジョブ管理機能を備えています(これが1回限りではない場合は重要です)。データ移行)。
  • ビルドツール(私にとって、Antは典型的な例として思い浮かびます)は同様のタスクを実行できますが、コンパイル、ファイルの編成と操作、およびパッケージ化に重点を置いています。
于 2010-05-20T04:40:24.980 に答える