6

背景(長くてすみません):

私は、1 日あたり約 20 ~ 30 MB のさまざまなオンライン広告データを収集し、それを MySQL のテーブルに追加する ETL を維持する任務を負っています。外部の請負業者が、Pentaho Spoon (キッチン、ケトル?) を使用して ETL を構築しました。ETL は、約 250 のジョブと変換 (.ktr、.kjb) で構成され、それぞれに約 5 ~ 25 のステップがあります。この大規模なプロセスで何かがうまくいかないことはよくあることです。変換と読み込みを行う R スクリプトを作成すると、はるかに効率的であることがわかりました。実際、ETL は、RMySQL を使用した呼び出し (つまり plyr!) を除いて、1000 行をはるかに下回るコードに削減できると思います。おそらく、Web からデータを抽出するために Python が使用されるでしょう。

私の R の使用は、いくらかの抵抗につながりました。ETL を設計したコンピューター プログラマーは R を知らないため、私が離れても呼び出せませんでした。さらに、Spoon ETL には多くの時間が費やされました。また、素人は、R スクリプトよりも Spoon の方が視覚的に簡単に手順をたどることができます。私としては、ETL に行き詰まっていると思います。ただし、私はコンピューター サイエンスのバックグラウンドを持っていないため、この問題について大きな発言権はありません。

以下の内容について、お気づきの点がございましたらコメントください。私はこれを何ヶ月も研究しており、多くの意見を読んできましたが、SOが通常提供するほど簡潔で信頼できるものはありません:

  1. R は、社内の一部からスケーラブルではないと言われています。主にロギング機能のために、私は反対だと思います。Spoon では純粋なログ出力が制限されていますが、すべての R スクリプトは日次ログにシンクできます。.ktrs の間違いを修正して回避するのは非常に面倒ですが、フラグを設定したり、R ログを検索したりすると簡単です。これについて何か考えはありますか?

  2. これは全体像の問題につながります。Pentaho のような ETL のポイントは何ですか? この投稿ETL は必要ですか? 、Rまたはその他のいわゆるOOLを使用する場合、Pentahoのようなツールを使用する理由はないと私は信じています。もしそうなら、誰かがこれを確認できますか?ここでセカンドオピニオンが本当に必要です。もしそうなら、誰が Pentaho のようなツールを使用しますか? それは単にプログラミングのバックグラウンドのない人ですか、それとも他の人ですか? SO に関するかなりの量の Pentaho の質問を目にします。

  3. Pentaho よりも多くの人が R を使用しているのは事実ですよね? このhttp://www.kdnuggets.com/2012/05/top-analytics-data-mining-big-data-software.htmlはそのように見えます。正直なところ、Pentaho が 5 位だったことには驚きました。これは、誰が Pentaho を使用しているのか、そして私の仕事の設定での使用についての私の疑問が見当違いであるかどうか、二重に疑問に思うことです。

返信ありがとうございます。Spoon や Spoon のユーザーを軽蔑しているわけではありません。私は本当に混乱していて、外部の意見が必要です。

4

1 に答える 1

4

ETLツールとしてのR? それは新しいものですが、ボートに浮かぶものは何でも。

ただし、250 のジョブと RI の 1000 行未満の変換を取得できる場合、ETL の記述が不十分であると言えます。

これに加えて、サポート性とスケーラビリティについて考える必要があります。どちらも、R コードではなく Spoon のようなグラフィカル ツールを使用すると、はるかに簡単になると思います。

個人的には、あなたは見当違いであり、あなたの質問は不十分に書かれていると思いますが、それは別の議論です.

あなたのポイントに関しては、PDI のログ記録は非常に優れており、統合されたログが必要な場合は、すべてを 1 つの大きなデータベース テーブルに記録できます。

HDFS のような非構造化データ ストレージ プールの人気が高まったとしても、ETL がなくなることはありません。また、R の外部で行われるデータ分析についても考えてください。データの上にレポートや OLAP が必要な場合は、依然として変換が必要になります。

R vs Pentaho を使う人が多いって本当ですか?それはどのような質問ですか?Pentaho とは、PDI のことだと思いますか? それはどのように比較できますか?データ分析ツール vs ETL ツールで、ユーザーをカウントしたいですか? え?一方、R 対 Pentaho 全体を意味する場合は、いいえだと思います。R 対 Weka に関するレポートを見て、ETL の議論に適合させています。それは日曜日の月では洗い流されません。

==編集== わかりました。現在、約 1000 行の R & Python コードがあります。上司の要件が拡大するにつれて、これは時間の経過とともにゆっくりと大きくなり、締め切りに間に合わせようとしているため、新しいコードは現在使用しているコードと同じくらいきれいに、または十分に文書化されています。したがって、時間の経過とともに、これは 5000 行に増え、いくつかの Python スクリプトが追加されます。そしてある日、あなたはバスに轢かれ、新しい人がやって来てあなたのコードを管理しなければなりません...彼らはどこから始めて、どのように変更を加えるのでしょうか?

事実上、データの経験が少しあれば、必要に応じて PDI ETL に変更を加えることができます。あなたが行ったことを変更するには、十分なRの深い知識が必要です。

ETL ツールは迅速かつ簡単に使用できるように設計されており、さまざまなシステム (たとえば、非データベースまたはファイル ベース) へのデータ接続に関して R が提供できるよりもはるかに多くの機能を提供しますが、これが人々が Python に頼る理由だと思います。など両方の余地があるとは言いましたが、私が見たコミュニティでは PDI 用の R プラグインが動き回っています。

それに加えて、私は長年にわたって TSQL から ETL への移行を十分に見てきたので、コード内で ETL を維持することは短期的には実用的に見えるかもしれませんが、長期的にはより多くの苦痛をもたらすだけです。

一方、250 個の PDI 変換を 1000 行の R にコーディングできる場合、ETL は前任者による不適切な設計によって肥大化する可能性があります。

既存の PDI ETL 構造についてご意見をいただきたい場合は、それも手配できます。

トム

于 2013-02-21T10:16:42.017 に答える