2012-02-23 9 views
7

私はフラットファイルをデータベースにインポートし、続いてxmlファイルをエクスポートするETLツールを研究しています。Railsモデルと統合するETLツールはありますか?

多くのツールは、アプリケーションで使用するコードの生成をサポートしています。しかし、私はあなたのアプリケーションで既にコードを使用してサポートを見つけることができませんでした。私たちのモデルは複雑です(関係、検証、多態的な関連付け、コールバックなど)。

既存のコードを再利用できるツールはありますか?または、私はETLツールでモデルを再作成(および維持)していませんか?

注:ETL(バルク挿入またはactiverecord-importとは対照的に)の要件は、変換です。私たちは、さまざまなフォーマット、完全性のレベル、および清潔さで200以上の異なるソースからデータを受け取ります。また、「設計者」が最も多く含むのは、変換を定義する技術的ではないユーザーにとってより現実的です。

+0

変換ロジックはどこですか?あなたはどこにいたいのですか? –

+0

です。すでにアプリケーションに組み込まれていますが、ソースごとに行う必要があるものもあります。私たちのアプリケーションは、99-01、1999-01、1999-2001がすべて同じことを知っており、HND、HNDA、HONDA、HONDA/ACURAはすべて同じことを知っています。これらは氷山の先端です。私たちのソースのそれぞれは異なるフォーマットを持っています。 1つは99-01のような年を組み合わせることができ、別のものは別の列に置くことができます。いくつかのものはHONDA、BMWを一つの行に入れ、他のものは2を使います。もう一度、Bergの先端ですが、ETLツールが扱うべきものです。 –

答えて

6

ActiveWarehouseが役立つ可能性があります。初期の検索結果では、プロジェクトは少し古くなってしまいます。ちょっと掘り下げてGitHubのプロジェクトのかなり活発な、よく文書化された枝が得られた:https://github.com/activewarehouse/activewarehouse-etl

+0

それはまた[1.0になった](http://www.rubyflow.com/items/7311-activewarehouse-ruby-etl-v1-0-0-rc1-is-out)。私は少し前にこれを見つけました、まだ生きているのを見て良かったです。私はもっ​​と詳しく見ていきます。 –

+0

このプロジェクトは、[Kiba](https://github.com/thbar/kiba)による –

0

モジュール化すると、RailsアプリケーションとETLは同じ場所から 'HND'の意味について尋ねます。そのためのAPIをセットアップします。

3

あなた自身で作成する。 ETLは非常にシンプルなプロセスです。ルビはこれを簡単なコードで処理するのに十分なリフレクションサポートを提供しています。 ETLツールはここではあまり役に立ちません。データソース、フロー、および変換を示すドットファイルを生成するだけです。

データ変換のためにsmalltalkで同じことをしました。そこで私はMOOSEリエンジニアリングツールの魅力とモンドリアンを使ってより多くの可視性を提供しました。

関連する問題