SAP HANA und Jupyter Notebook

SAP HANA ist die Datenbanklösung von SAP, die eine breite Palette an Möglichkeiten und Funktionen für Geschäftsanwendungen bieten. Was vielleicht weniger bekannt ist, dass diese Datenbank auch Integration in offene Connectoren wie JDBC oder ODBC APIs anbietet, sodass man aus jeder beliebigen Anwendung heraus Operationen auf der Datenbank ausführen kann.

Vor Kurzem habe ich im Rahmen von Data-Science Aufgaben diese Connectoren genutzt und möchte hier dokumentieren, wie man Operationen in SAP HANA von Jupyter Notebook aus durchführen kann. Es ist dadurch möglich von bestehenden Data-Science Werkzeugen gebrauch zu machen und gleichzeitig von den Möglichkeiten zu profitieren, die SAP HANA für Geschäftsanwendungen bietet. Ich möchte das Ganze in diesem Beitrag an einem Beispiel erläutern.

Das Ergebnis dieser Arbeit findet sich auch auf GitHub.

Update: Blog Artikel gibt es nun auch auf englisch auf blogs.sap.com

SAP HANA und Jupyter Notebook weiterlesen

Telegram als Nachrichtenquelle Teil 5

In Frankreich wurden vor kurzem die Rundfunkgebühren in Höhe von 138€ pro Jahr abgeschafft, um den Lebenserhaltungskosten entgegen zu wirken. Bei uns liegt der Betrag bei 220€ und eine Erhöhung ist geplant. Der Ukraine Krieg ist seit über 5 Monaten im Gange. Die Inflation hat ein Rekord erreicht und zum ersten Mal seit vielen Jahren hebt die EZB den Leitzins.

In diesem Kontext ist es rund um Telegram und „alternativen“ Nachrichtenquellen ruhig geworden. Es ist über drei Monate her seit der letzten Analyse. Hier sind Teil 1, Teil 2, Teil 3 und Teil 4 zu finden. Es ist wieder mal Zeit, in die Telegram Daten rein zu schauen. Alle Bilder und Graphen sind wie immer im Share Ordner verfügbar (Ordner 2022-07-31).

Telegram als Nachrichtenquelle Teil 5 weiterlesen

Data-Science bei SAP

Gerade ist vorlesungsfreie Zeit und ich habe meine Arbeitszeit bei SAP erhöht. Ich arbeite intensiv an den Data-Science Herausforderungen unseres Bereiches. Es macht so unglaublich viel Spaß. Es sind genau die Art von Herausforderungen, die ich mag: Es ist anfangs nicht klar, was das Ergebnis überhaupt sein wird, es haben noch nicht viele daran gearbeitet und ich habe das Gefühl, dass ich Pionierarbeit mache.

Es ist einfach, ein paar Daten herunterzuladen und in einer graphischen Oberfläche darzustellen. Wenn die Herausforderung so einfach wäre, wäre ich dafür vermutlich nicht eingestellt. Die Herausforderungen sind verzwickter. Es geht um das Verstehen komplexer Geschäftsprozesse. Es gibt oft eine abstrakte Repräsentation eines Geschäftsprozesses, welcher relativ gut dokumentiert ist. Es gibt aber auch eine technische Repräsentation, die meist viel detaillierter ist und die meistens nur in den Köpfen einzelner Entwickler oder als ABAP Code vorhanden ist. Diese technische Repräsentation wurde bislang noch nicht so richtig durchleuchtet. Ich bringe Licht ins Dunkle, indem ich bei unseren Data-Science Aktivitäten den Aufwand betreibe, diese richtig zu verstehen und dokumentieren. Ich interviewe dafür die Entwickler und Experten und baue Diagramme von Inhalten auf, die vermutlich niemand vorher in solch eine Ordnung gebracht hat.

Was ist der Wert von Datenvisualisierung in Form eines Dashboards? Ohne die betriebswirtschaftliche und technischen Zusammenhänge zu verstehen, haben diese Visualisierungen keinen Wert. Für mich stellt sich durchgehend die Frage, wie ich Wert für unseren Bereich generiere. Tatsächlich offenbart sich der Wert erst dann, wenn irgendeine Aktion an die Datenvisualisierung gebunden ist. Die Datenvisualisierung hilft dann was, wenn Trends erkennbar werden, wenn Usage und Adaption messbar werden. Eine Aktion kann sein, dass man mehr Ressourcen oder Priorisierung in die Entwicklung bestimmter Objekte steckt.

Usage und Adaption ist bei uns ein entscheidender Aspekt. Wenn man sich überlegt, von was man alles die Nutzung messen kann, dann stellt man fest, dass es so vieles sein kann. Ist es vielleicht eine API? Ist es eine Klasse? Ist es eine Entität? Ist es eine Operation? Ist es eine bestimmte UI? Ein bestimmtes UI-Element? Eine bestimmte Fehler-Kategorie? Bestimmte ausgefüllte Felder? Es kann so vieles gemessen werden.

Daten bringen ihr Potenzial erst auch dann hervor, wenn man sie mit anderen Daten anreichert oder verschiedene Datensätze miteinander verbindet. Eine populäre Frage in diesem Kontext ist beispielsweise, ob die Einführung und Nutzung einer bestimmten Funktionalität die Abnahme einer anderen Funktionalität zur Folge hat. Im SAP Kontext gibt es so viele unterschiedliche Technologien und Möglichkeiten. Es ist kaum möglich zufällig diese Zusammenhänge zu finden. Ein tieferes Verständnis von den betriebswirtschaftlichen Zusammenhängen ist hier wieder essentiell.

SAP Data Warehouse Cloud

Data-Science ist genauso eine Kunst und Fähigkeit wie Software-Entwicklung. Data-Science erfordert Kenntnisse aus der Software-Entwicklung, Betriebswirtschaft und Mathematik, um aus Daten Wert zu schöpfen. Ich hatte ja bereits SAP Analytics Cloud (SAC) vorgestellt. Heute will ich ein weiteres Tool aus dem Hause SAP vorstellen, was bei Data-Science-Themen unterstützen kann. Es ist die SAP Data Warehouse Cloud (DWC).

Landing-Page einer DWC-Instanz
SAP Data Warehouse Cloud weiterlesen

Telegram als Nachrichtenquelle Teil 4

Im Handelsblatt kam vor kurzem der folgende Artikel.

Diese vier Grafiken zeigen, wo sich die Deutschen zum Krieg informieren
Der Krieg verändert, auf welchen Medien die Menschen Nachrichten konsumieren – und wirkt sich unterschiedlich auf die Werbebranche aus. Wer profitiert und wer verliert, zeigen exklusive Daten.

https://www.handelsblatt.com/unternehmen/it-medien/ukraine-krieg-diese-vier-grafiken-zeigen-wo-sich-die-deutschen-zum-krieg-informieren/28280640.html

Ich will diesen Artikel zum Anlass nehmen, die Telegram Analyse weiter fortzuführen und sie in Relation mit meiner Analyse zu setzen. Wenden sich Deutsche seit dem Ukraine Krieg wirklich gegen „unseriöse“ Nachrichtenkanäle?

Alle Graphen meiner Analysen (und etwas mehr) sind auch hier zu finden.

Telegram als Nachrichtenquelle Teil 4 weiterlesen

Nginx Error Logs

In der vorherigen Analyse hatten ich mir die Nginx Access Logs angeschaut. Nun komme ich zum dritten Teil dieser Reihe. Heute betrachte ich die Error Logs. Error Logs sind hilfreich, wenn es darum geht einen groben Überblick über bestehende Probleme zu gewinnen. Wenn man an größeren Projekten arbeitet, dann verliert man schnell den Überblick über Fehler und den Status von Fehlern. Eine konsolidierte Übersicht über die Fehler würde helfen. Man könnte Fehler kategorisieren und sie nach Priorität abarbeiten. Beispielsweise die am Häufigsten erscheinenden Fehler als erstes beheben.

Es gibt bereits Analyselösungen, die diese Logs verarbeiten und in Analysen darstellen. Ich möchte diese jedoch nicht nutzen, sondern will eine einfache, lokale und transparente Lösung. Ich habe solch eine konsolidierte Sicht mit Jupyter Notebook erstellt, und möchte ein paar Analysen teilen.

Nginx Error Logs weiterlesen

Telegram als Nachrichtenquelle Teil 3: Der Ukraine Krieg

Es ist nun vier Wochen her, seit ich erste Statistiken zu Telegram Kanälen veröffentlicht und meine Interpretation hiervon geteilt hatte. Hier ist Teil 1 und Teil 2. In der Zwischenzeit hat der Ukraine Krieg angefangen und die Diskussion rund um Telegram als Nachrichtenquelle hat eine neue Dynamik gewonnen. Seit drei Wochen ist der Telegram Kanal von RT Deutschland gesperrt. Allgemein findet Telegram als Nachrichtenplattform eine zentrale Position in diesem Konflikt.

Ich habe in der Zwischenzeit ein wenig meine Analysen erweitert. Neben der Anzahl der Abonnenten, findet sich in den Statistiken nun auch die Reichweite, die Zahl der Aufrufe und die Zahl der Posts. Ich teile in den folgenden Abschnitten nur einen Teil der Graphen. Alle Graphen (und ein paar weitere) finden sich auch hier.

Telegram als Nachrichtenquelle Teil 3: Der Ukraine Krieg weiterlesen

Telegram als Nachrichtenquelle Teil 2

Ich hatte angekündigt, dass ich mir Statistiken von Telegram Kanälen näher anschauen möchte. Nun ist es soweit, ich bin mit meiner ersten Auswertung der Daten von ein paar ausgewählten Telegram Kanälen fertig. Ich möchte die Ergebnisse hier teilen. Im Vornherein ein Hinweis: Es darf nicht oft genug erwähnt werden, dass mit jeder Information, die man im Internet konsumiert, kritisch umgegangen werden muss. Das gilt besonders für Inhalte, in denen politische Inhalte geteilt werden (wie beispielsweise in den folgenden erwähnten Nachrichtenaggregaten).

Bei drei ausgewerteten Kanälen (CheckMateNews, bleibtstark, NeuzeitNachrichten) handelt es sich um Nachrichtenaggregate. Bei einem Kanal handelt es sich um ein Austauschkanal über Demonstrationstermine (Demotermine). Zum Vergleich habe ich zusätzlich den Corona-Infokanal des Bundesministeriums für Gesundheit (corona_infokanal_bmg) mit in die Auswertung aufgenommen. Vielleicht findet sich ein interessanter Zusammenhang in den Daten.

Telegram als Nachrichtenquelle Teil 2 weiterlesen

Google Trends Visualisierung

Von Google Trends gibt es eine öffentliche Schnittstelle, bei der man ähnlich wie bei Twitter Trends die beliebtesten Suchanfragen eines Landes anschauen kann. Das besondere an diesen Trends ist, dass sie nahezu live sind. Das heißt, dass man recht schnell sieht, was ein Land gerade bewegt und sich die Daten durchgehend aktualisieren. Man kann im Browser direkt auf diese Trends zugreifen.

Google Trends in Deutschland zum jetzigen Zeitpunkt
https://trends.google.com/trends/hottrends/visualize?pn=p15&nrow=5&ncol=5

Eine hervorragende Quelle für Rohdaten! Ich hatte mal beschlossen so eine Anwendung zu entwickeln, was einfach mal die Daten stündlich in eine Datenbank speichert.

Google Trends Visualisierung weiterlesen

Nginx Access Logs Analyse

Access-Logs sind in Hinsicht auf Datenschutz sehr kritisch. Man kann sie als Nutzer einer Webseite nicht deaktivieren und sie fallen unter den sensiblen Daten, da sie IP Adressen beinhalten und Rückschlüsse auf einzelne Menschen erlauben. Ich hatte bereits angekündigt, dass ich für einen bestimmten Zeitraum die Access-Logs meines Blogs untersuchen möchte. Ich möchte heute meine ersten Erkenntnisse darüber teilen.

Nginx Access Logs Analyse weiterlesen