2010-12-03 16 views
5

Suche nach einer nicht cloudbasierten Open-Source-Anwendung für die Datenumwandlung; obwohl für eine Killer- (und ich meine Killer) App, die nur für Datentransformationen gebaut wurde, könnte ich bereit sein, bis zu $ ​​1000 auszugeben.Datenerkennung, Analyse, Filterung und Transformation - GUI?

Ich habe mir Perl, Kapow Katalyst, Pentaho Kettle und mehr angesehen.

Perl, Python, Ruby die eindeutig Sprachen sind, aber keine Frameworks/DSLs nur für die Verarbeitung von Daten finden können; Das bedeutet, dass es keine großartigen Entwicklungsumgebungen gibt, was bedeutet, dass es keine eingebauten GUI's zum Erstellen von RegEx, Eingabe/Ausgabe (CSV, XML, JDBC, REST, etc.) gibt, keinen Debugger zum Testen von Zeilen und Zeilen von Daten - sie sind auch nicht schlecht, nur nicht das, was ich suche, das ist eine GUI für komplexe Datentransformationen gebaut; Das heißt, ich würde mich freuen, wenn die GUI/App-Datei in einer Skriptsprache wäre und NICHT nur in einer nicht von Menschen lesbaren XML/ASCII-Datei gespeichert wäre.

Kapow Katalyst wird für den Zugriff auf Daten via HTTP (HTML, CSS, RSS, JavaScript, etc.) gemacht es zur Umwandlung von unstrukturierten Text eine schöne GUI bekam, aber das ist nicht ihr Kernwert bietet, und ist Art und Weise, Art und Weise zu teuer. Es ist eine gute Aufgabe, Dokumentnamensraumpfade zu durchlaufen; Ich vermute, es ist nur XPath auf dem Back-End, da die Syntax scheint die gleiche zu sein.

Pentaho Kettle hat eine nette GUI für INPUT/OUTPUT der meisten gängigen Datenspeicher, und seine eigenen Umgang mit Datenverarbeitung; Das ist okay und hat nur eine kleine Lernkurve. Der Debugger von Kettle ist in Ordnung, da die Daten leicht zu sehen sind, aber die Fehler und Ausnahmen werden nicht mit der Ausgabe verknüpft, und es gibt keine Möglichkeit, ein Problem wirklich zu debuggen. Das bedeutet, dass Sie die Ausgabe/Fehler/Ausnahme nicht neu laden können, aber die Systemfeedback sehen können. Alles, was gesagt wurde, Kettle Daten Transformation ist _______ nun, lassen Sie uns einfach sagen, es ließ mich Gefühl, dass ich etwas verpassen muss, weil ich völlig verwirrt war "wenn es nicht möglich ist, einfach die Umwandlung in JavaScript schreiben"; Ähm, was?

Also, irgendwelche Vorschläge? Stellen Sie sich vor, dass ich nicht wirklich transformations spezifiziert habe, aber wenn Sie wirklich ein Produkt für Daten Munging verwenden, würde ich gerne darüber wissen; sogar übertreffen, schätze ich.

Im Allgemeinen suche ich derzeit nach einem Produkt, das 1000-100.000 Zeilen mit 10-100 Spalten verarbeiten kann. Es wäre super cool, wenn es Datensätze erstellen könnte, was eine Funktion von Kettle ist, aber nicht super gut. Ich würde auch gern integrierte Komponententests verwenden, was bedeutet, dass ich Kontrollsätze von Daten aufbauen und Änderungen an dem Kontrollsatz ausführen kann. Dann möchte ich in der Lage sein, selektiv Zeilen und Spalten herauszufiltern, während ich die Transformation ausbilde, ohne den Build zu ändern. Ich führe beispielsweise einen Datensatz durch Transformation aus, filtere die Ergebnisse, und beim nächsten Durchlauf werden diese Sätze beim ersten "logischen" Auftreten automatisch blockiert. was wiederum bedeuten würde, dass weniger Daten zu sehen sind und eine reduzierte Laufzeit für jede erweiterte Iteration; Was wäre verrückt, wenn ich die Zeilen/Spalten ausfiltern würde, die die App verfolgt (und die Ausgabe wurde herausgefiltert). und Einheit getestet/markiert alle Änderungen. Wenn ich eine Änderung vornehmen würde, die die Anwendungsprotokolle und die Fähigkeit, die Komponententests zu verfolgen basierend auf mir "brechen einen Zweig" - würde es mich warnen lassen, lassen Sie mich die gespeicherten Daten ablegen ... und/oder verfolgen die Primärschlüssel für den Unterschied in der nächsten Generation der Ausgabe oder sogar versuchen, sie unter Verwendung von Fuzzy-Logik zu vergleichen. Und ja, ich weiß, das ist ein Wunschtraum, aber hey, dachte ich würde fragen, nur für den Fall, dass da draußen etwas ist, das ich noch nie gesehen habe.

Fühlen Sie sich frei zu kommentieren, ich würde mich freuen, alle Fragen zu beantworten, oder bieten zusätzliche Informationen.

+1

Bis zu $ ​​1000? Wie bist du zu dieser Nummer gekommen? Welche Produkte haben Sie angeschaut? –

+0

@ S.Lott: "Bis zu 1000 $? Wie sind Sie bei dieser Nummer angekommen?" Unternehmen Budget, wirklich nicht daran interessiert, Geld auszugeben, obwohl. Ich habe CloverELT angeschaut; Die CE hat sehr wenig Transformationsunterstützung. Tatsächlich scheinen die meisten ETL nicht einmal komplexe Transformationen durchzuführen. Bin nicht zu Talend gekommen, obwohl die Java-Version 60-70% mehr Transformationen als die Perl-Version zu haben scheint. Scheint mir am meisten ETL Fokus auf das E und L, nicht das T; obwohl ich komplett neu dazu bin und hauptsächlich Kapow/RoboSuite in der Vergangenheit zum Extrahieren von Daten aus dem Internet verwendet habe; Jetzt konzentriere ich mich nur auf Datentransformation Builds – blunders

+0

@ S.Lott: Hier ist eine Aufschlüsselung der CloverETL CE-Funktionen, die sie gerade gepostet: http://www.cloveretl.com/products/community-edition/features – blunders

Antwort

3
+0

Sehr cool, danke - hast du es benutzt? Sieht so aus, als ob es nur für Nischenaufgaben ist, aber Open Source und sehr gut in dem, was es tut; Was mir recht ist. – blunders

+2

Ja, ich habe es benutzt. Es ist sehr auf das Bereinigen von Tabellen ausgerichtet. Ich betrachte es eher als eine Neudefinition von Excel, die von den Bedürfnissen tabellarischer Daten ausgeht, anstatt von leeren Gittern. –

1

Ich bin nicht genau sicher, was die Datenart oder genau, welcher Art von Transformationen zu tun, Sie versuchen, aber wenn es in erster Linie mathematische Transformation ist, vielleicht können Sie FreeMat, Octave oder SciLab versuchen. Versuchen Sie Open Source-ETL-Tools wie Clover, Talend, JasperETL Community Edition oder Jitterbit, wenn es mehr Data-Warehouse-style Munging ist.

+0

Danke für die Vorschläge, habe Talend-CE heruntergeladen, aber nach 5 Minuten "versuchen", es aufzustehen, gab ich auf. Ich schaue mir gerade Clover, JasperETL-CE und JitterBit an. Was die mathematische Transformation betrifft, ist es momentan nicht notwendig, aber ich werde immer noch die Apps ausprobieren, nur damit ich ein grobes Gefühl für sie habe. Noch einmal Danke! – blunders

2

Talend benötigt mehr als 5 Minuten Ihrer Zeit, vielleicht näher an etwa 1 Stunde, um damit zu beginnen, grundlegende Transformationen zu verkabeln und Ihre Anforderung erfüllen zu können, auch Versionskontrolltransformationen beizubehalten. Sie haben einen Pipeline-Prozess beschrieben, der leicht in Talend durchgeführt werden kann, wenn Sie wissen, wie Sie mehrere Eingänge und Ausgänge in einem Projekt haben, da dieselben Rohdaten verschiedene Transformationen und Filter durchlaufen, bis sie als endgültige Ausgabe ankommen, wie Sie es wünschen. Dann können Sie Ihre Jobs so planen, dass sie den Prozess über ähnliche Daten wiederholen. Geh zurück und verbringe mehr Zeit mit Talend, und du wirst sicher Erfolg haben.

Ich bin auch einer der Auftraggeber von Google Refine und verwende Talend auch in meiner täglichen Arbeit. Manchmal modelliere ich meine Transformationen für Talend zuerst in Google Refine. (Manchmal nutzt sogar Refine, um die Bereinigung vorzunehmen, borked ETL transformiert sich selbst! LOL) Ich kann Ihnen sagen, dass meine Erfahrung mit Talend bei einigen der Funktionen von Google Refine eine kleine Rolle gespielt hat. Zum Beispiel haben sowohl Talend als auch Google Refine das Konzept eines Ausdruckseditors für Ihre Transformationen (Talend geht bei Bedarf auf Java zurück).

Google Refine wird niemals ein ETL-Tool in dem Sinne sein, dass wir es nicht für den Wettbewerb in diesem Bereich entwickelt haben, wo ETL typischerweise für große Data Warehouse-Backend-Verarbeitung & Transformationen verwendet wird. Wir haben Google Refine jedoch so konzipiert, dass es bestehende ETL-Tools wie Talend ergänzt, indem es eine einfache Live-Vorschau ermöglicht, um fundierte Entscheidungen über Ihre Transformationen und Bereinigungen zu treffen. Wenn Ihre Daten nicht riesig sind, können Sie innerhalb von Refine selbst das tun, was Sie brauchen .

+0

+1 @Thad Guidry: Danke, ich habe tatsächlich beide ausprobiert. Ich erinnere mich nicht viel über Talend, außer dass es zwei Versionen (Java/Perl) neu ausprobiert hat und jede verschiedene Funktionen unterstützt. Google Refine ist nett und stimmt zu, dass es niemals eine ETL sein wird, sondern selbst funktionale Lücken füllt, die in Excel vorhanden sind. zum Beispiel native RegEx-Unterstützung. Obwohl es möglich ist, dass ich es verpasst habe oder das Feature inzwischen eingeführt wurde, erinnere ich mich daran, dass Google Refine keine API oder CLI hat. Vielen Dank für die Veröffentlichung und ich bin wirklich der Meinung, dass Google Refine ein großartiges Tool ist. – blunders

+0

@blundern Es gibt 3 bekannte APIs, die verfügbar sind: https://github.com/PaulMakepeace/refine-client-py/ https://github.com/maxogden/refine-python https://github.com/maxogden/verfeinern-rubin –