{"id":282,"date":"2008-01-20T22:32:08","date_gmt":"2008-01-20T21:32:08","guid":{"rendered":"https:\/\/bob-team.de\/wordpress\/?p=282"},"modified":"2008-02-10T11:39:58","modified_gmt":"2008-02-10T10:39:58","slug":"regex-und-talend-open-studio","status":"publish","type":"post","link":"https:\/\/bob-team.de\/wordpress\/2008\/01\/20\/regex-und-talend-open-studio\/","title":{"rendered":"Regex und Talend Open Studio"},"content":{"rendered":"<p><img src='https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2008\/01\/http_regex.png' alt='Screenshot TOS' \/><\/p>\n<p>Die Aufgabe: Log-Dateien verschiedener Webservers (z.B. <a href=\"http:\/\/httpd.apache.org\/\"><em>Apache HTTP Server<\/em><\/a>) m\u00fcssen zusammen gef\u00fchrt und f\u00fcr die weitere Verarbeitung aufbereitet werden.<\/p>\n<p><!--more--><\/p>\n<p>Die L\u00f6sung: <a href=\"http:\/\/www.talend.com\/\"><em>Talend Open Studio<\/em><\/a> stellt eine Komponente zur Verf\u00fcgung, mit der ein <a href=\"http:\/\/de.wikipedia.org\/wiki\/Regex\"><em>Regul\u00e4rer Ausdruck<\/em><\/a> zeilenweise auf eine Datei angewendet werden kann. In unserem Beispiel verwenden wir <em>tFileList_1<\/em>, um die gew\u00fcnschte Dateiliste abzuarbeiten. <\/p>\n<p><img src='https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2008\/01\/http_regex3.png' alt='Screenshot TOS' \/><\/p>\n<p>Das jeweils aktuelle File wird von <em>tFileInputRegex_1<\/em> ge\u00f6ffnet und zeilenweise durch folgenden regul\u00e4ren Ausdruck in seine einzelnen Bestandteile zerlegt.<\/p>\n<p><code>\"^(\\\\S+) (\\\\S+) (\\\\S+) \\\\[([^ ]+) ([^ ]+)\\\\] \\\"([^ ]+) ([^ ]+) \" +<br \/>\n\"[^\\\"]+\\\" ([\\\\d|-]+) ([\\\\d|-]+) \\\"(.*)\\\" \\\"(.*)\\\"\"<\/code><\/p>\n<p>Die gefundenen Teilst\u00fccke werden dann auf das hinterlegt Schema \u00fcbertragen.<\/p>\n<p><img src='https:\/\/bob-team.de\/wordpress\/wp-content\/uploads\/2008\/01\/http_regex2.png' alt='Screenshot TOS' \/><\/p>\n<p>Das Datumsformat &#8222;dd\/MMM\/yyyy:hh:mm:ss&#8220; erm\u00f6glicht <em>Talend Open Studio<\/em> die Zeichenkette korrekt zu interpretieren.<\/p>\n<p>Die weitere Verarbeitung h\u00e4ngt nun vom speziellen Anwendungsfall ab. Interessant ist beispielsweise die \u00dcbergabe an einen Jasper-Report, der dann per E-Mail versendet wird.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Aufgabe: Log-Dateien verschiedener Webservers (z.B. Apache HTTP Server) m\u00fcssen zusammen gef\u00fchrt und f\u00fcr die weitere Verarbeitung aufbereitet werden.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[22],"class_list":["post-282","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-talend-open-studio","entry"],"_links":{"self":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/comments?post=282"}],"version-history":[{"count":0,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/282\/revisions"}],"wp:attachment":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/media?parent=282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/categories?post=282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/tags?post=282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}