Show your Data Science Workplace!

I like surveys like that. To see how other people organize their daily work with all their hard- and software. I will also give a short insight to my workplace setup and how do I use it. The blog post from Benjamin ask the following questions to get an deep inside:

How many monitors do you use (or wish to have)?

Well, as you see on the picture above, I’m using two monitors at the same time. One in a horizontal and one in a vertical direction. On the horizontal display I’m working with mail, short documents and terminal windows (many thanks to the guys from Magnet.app to implement a macOS windows manager that works). The vertical one is for Jira swimlanes, web sites, MacVim edits, wiki entries and kibana dashboards. I’m using the same LG model (I forgot the name but I like this white one). Both are connected on my MacBook Pro. One on HDMI (yes I’m using yet another adapter) and one on a USB-C-to-DVI connector.

What hardware do you use? Apple? Dell? Lenovo? Others?

Yes, I’m using a Apple MacBook Pro, latest generation (2016). I’m not so satisfied with it because of the battery lifetime and the monitor handling. From time to time If I disconnected my two displays, I can’t reanimate the display output in a conference room (beamer or tv). It is a f*** digital adapter and synchronization nightmare. But the big plus is the weight. If I take it away to my home office, it is not so heavy as my old one. I like the touch bar but I don’t use it in this configuration. Only if I lie on my sofa without any external monitor.

Which OS do you use (or prefer)? MacOS, Linux, Windows? Virtual Machines?

I’m using macOS hight sierra on my MacBook Pro. This is not the latest supported macOS from my company but I have an „early adopter“ status for that. On the server side, I prefer Linux and therefor mainly Centos. We’re using customized Centos AMIs on AWS.

What are your favorite databases, programming languages and tools? (e.g. Python, R, SAS, Postgre, Neo4J,…)

In Big Data projects, I’m using Hive and Spark for data engineering tasks. For business intelligence tasks I’m using Impala together with Tableau. For data science tasks we’re using Clouderas Data Science Workbench together with Python and Spark.

Which data dou you analyze on your local hardware? Which in server clusters or clouds?

I do not analyse any data on my local machine. We had a strong security and governance process to analyse data. The data that we’re analyse comes from a virtual private cloud on AWS. The data is encrypted at rest and is encrypted by transport too (VPN, SSL et cetera).

If you use clouds, do you prefer Azure, AWS, Google or others?

I prefer AWS at the moment because I’m working with it. I like the API first approach of Amazons webservices and I like services like Lambda or the machine learning APIs. Amazon is the market leader and very innovativ in many fields. We’re using the AWS API together with Ansible and Terraform.

Where do you make your notes/memos/sketches. On paper or digital?

I prefer digital notes because of its searchability. I store all of my notes inside the companies Microsoft Exchange server because then I can access the notes also from my mobile phone too. I’m working mainly with macOS notebook for all of my sketches.

Praxiseinstieg Deep Learning

Heute ist der Erscheinungstermin meines ersten Buchs für den O’Reilly Verlag. Damit endet eine Reise die bereits Anfang letzten Jahres angefangen hat als Idee, ein Buch zu schreiben, welches eine praxisnahe Einführung in das Thema Deep Learning bietet. Das erste Konzept dafür sah vor, dass vor allen Dingen ich lerne, was Deep Learning eigentlich ist und warum das Thema, zusammen mit Maschine Learning und Data Science, in den Vereinigsten Staaten so ein Hype ist.

Natürlich hatte ich mich auch in der Vergangenheit, und da vornehmlich im Studium, dem Thema künstliche neuronale Netze gewidmet. Das Thema ist ja, ohne tiefer in die lineare Algebra einzusteigen, leider nicht so leicht verdaulich, wie es uns die Nachrichten über AlphaGo oder selbstfahrende Autos glauben lassen. Das Thema künstliche neuronale Netze, einem Teilbereich der Künstlichen Intelligenz, hat eine lange Historie und das macht es nicht einfach die verschiedenen Tipping Points zu erklären, welche das Thema in den letzten Jahren, teilweise unter Ausschluß einer breiten Öffentlichkeit, vorangetrieben hat. Die wichtigsten Einflußfaktoren habe ich versucht in meinem Buch darzustellen. Diese sind für mich:

  • Vorhandensein großer Datenmengen (Big Data) und deren Verarbeitungsmöglichkeiten (Hadoop, Spark etc.)
  • Fortschritte in den Neurowissenschaften
  • Verfügbarkeit der nötigen Rechenkraft in Form von Grafikkarten für eine hohe Parallelisierung der Berechungs inkl. Low-Level Frameworks wie CUDA, BLAST etc.

Dies alles in ein Buch zu packen und dann auch noch mit praktischen Beispielen zu garnieren war nicht immer einfach. Eine große Herausforderung war dabei vor allen Dingen der schnelle Fortschritt im Bereich Frameworks und die damit verbundene Schnittstelleninkompatibilität. Was gestern so funktioniert hatte, war heute schon nicht mehr lauffähig. So gab es allein bei Googles TensorFlow ganze vier Minorreleases und den Sprung auf Version 1.0. Als ich mit dem Text angefangen habe, gab es Caffe als reines Universitätsprojekt.  Nach Fertigstellung der entsprechende Kapitel verkündete Facebook die Verfügbarkeit von Caffe2. Der Autor des Caffe-Framworkf, Yangqing Jia war zu Facebook gewechselt. Aktuell wird nicht die aktuelle Version von TensorFlow unterstützt, da ich die Beispiele noch nicht getestet habe. Ich werde aber versuchen, nach und nach, die Beispiele zum Buch und auch das Dockerfile an die neusten Versionen anzupassen und bestehende Fehler zu beseitigen.

Das ich sowohl zeitlich als auch thematisch etwas in der Konzeption richtig gemacht habe, verraten mir die Zahlen der Vorbestellungen, die mittlerweile einer höheren, hundertstellige Anzahl  entsprechen, was mich stolz und ängstlich zugleich macht. Dies sollte aber alle Interessierten nicht davon abhalten sich das Buch entweder direkt auf der Seite von O’Reilly Deutschland, bei Amazon, Thalia, Hugendubel oder einem Buchhändler seines Vertrauen zu kaufen und/oder auf die eBook-Version zu warten, welche vorrausichtlich noch dieses Jahr erscheint.

Zum Schluß noch eine Anmerkung zum Thema O’Reilly: Bereits seit 1990, als ich zum ersten Mal einen Unix Rechner nutzen durfte, kenne ich diese Verlag. Die verschiedenfarbigen Referenzen zum X11 Windows System sind mir in sehr guter Erinnerung geblieben. Danach kamen die berühmten Tiere auf die Titel und der Wunsch reifte, dass ich für diesen Verlag auch einmal schreiben wollte. Heute, rund 28 Jahre später, bin ich nun auch endlich Teil dieses Verlags, bzw. seinem deutschen Lizenznehmer, dem dPunkt Verlag aus Heidelberg.

Ich hoffe, dass ich mit meinem kleinen Beitrag zum Thema Deep Learning, den einen oder die andere dazu bewegen kann, sich mit diesem Thema zu beschäftigen. Ich glaube, dass wir in nächster Zeit noch viele Anwendungen sehen werden, die mit Hilfe von Deep Learning Verfahren implementiert wurden. Die Leser meines Buches wissen dann zumindest, was sich hinter diesem Begriff verbirgt und wie er sich technologisch einordnen lässt.

It’s all about data

It’s all about Data

Nach 13 Jahren im Online Marketing wird es Zeit, das ich mich auf ein neues Terrain wage. Nach zwei Stationen bei Vermarktern von Online Werbung und meiner aktuellen Station bei einer Online Marketing Agentur, wechsle ich ab dem 1. Februar zu Tchibo.

Am Online Marketing haben mich zu aller erst auch die vielen Daten und deren Verarbeitung fasziniert. All die Kontaktpunkte, Kampagnendaten, Abschlüsse, Likes, Käufe, Gewinnspielteilnahmen.

Eine Perfomance Marketing Agentur war vor 6 Jahren der richtige Schritt, da Vermarkter immer nur einen kleinen Teil dieser Daten sehen und nur der Kunde und seine Agentur ein vollumfängliches Bild der Erfolgsmessung sehen.

Diese Faszination an den eigentlichen Daten habe ich nach wie vor.  Doch etwas hat sich im Laufe der Zeit geändert. Längst sind Technologie aus dem Online Marketing bei den Kunden selber angekommen und immer öfter entscheiden Bidding-Algorithmen wer, wann und zu welchem Preis, welche Ansprache ausgespielt werden. Online Marketing Daten werden so zum unternehmenskritischen Bestandteil wie Besucher- und Absatzzahlen, Umsatzprognosen, und dem Return on Investment .

Längst werden Tausenderkontakte, CPOs, ROIs und WKUs nicht nur auf Webseiten und den Kundenportalen, sondern auch in den mobilen Apps und am Point-of-Sale gemessen. Immer stärker wachsen diese Datenquellen zusammen und es wird an numerischen Modellen gearbeitet, welche die Einflussfaktoren jedes Kanals berücksichtigen um so den Verbraucher noch zielgenauer mit für ihn passenden Angeboten im richtigen Moment zu versorgen.

Dazu wird es immer wichtiger Informationsinfrastrukturen zu schaffen, welche flexibel und schnell auf diese neuen Anforderungen reagieren können.

Die Chance zu bekommen, den Aufbau einer solchen Big Data Infrastruktur für die Tchibo hier in Hamburg mit zu gestalten, empfinde ich nicht nur als äußerst spannende Herausforderung, sondern auch als großes Privileg. Und das obwohl ich mich mit diesen Technologien schon seit über 6 Jahren, in wechselnden Kontexten, beschäftigen durfte.

Fehlen werden mir persönlich die lieben Kollegen meiner beiden Teams und der rege Austausch mit allen Mitarbeitern bei Performance Media, Performance Advertising und Digital Media. Ein Glück ist der Überseering mit der U1 nicht weit vom Stephansplatz entfernt, so dass  ich versuchen werde, die über die Jahre geknüpften Banden nicht abreißen zu lassen. Es war wirklich eine besondere und spannende Zeit. DANKE!

Apples Health Daten mit Spark analysieren

Nicht alle Fitnesstracker verweigern den Export der Daten ihrer Besitzer. Seit dem iPhone 5s zeichnet der M6-Chip jeden Schritt seines Nutzers auf. Um an diese Daten zu gelangen und daraus ein paar nette Erkenntnisse zu ziehen, ist nicht viel Aufwand nötig. Um an die Daten zu kommen müssen diese aus der App mit dem Herz im Logo, exportiert werden. Dies erfolgt am einfachsten als Email in folgenden Schritten:

Zuerst muss man die Aktivitäts App öffnen und auf das Icon oben rechts mit dem Kopf im Kreis klicken

apple-health-001

Daraufhin erscheint das eigenen Profil und die Daten lassen sich über den Link Daten exportieren am unseren Rand exportieren.

apple-health-002apple-health-003apple-health-004

Die EMail enthält, je nach Zeit, eine mehrere Megabyte große ZIP-Datei mit. Ausgepackt enthält diese zwei XML-Dateien. Die größere von beiden enthält die relevanten Bewegungsdaten. Um die Daten einfach verarbeiten zu können, lohnt sich die Konvertierung in eine CSV-Datei. Da es sich um XML-Daten handelt liegt die Idee nahe, dass man diese am besten auch als XML-Objekt einliesst. Doch Vorsicht: Der resultierende DOM kann, je nach Datenmenge, sich zu einem beachtlichen Monster im Hauptspeicher aufblasen. Besser funktioniert es mit Lösungen die zeilenbasiert vorgehen. Ich habe die Lösung von Kristian Desch etwas adaptiert und einen CSV-Export integriert. Das Python Skript kommt gänzlich ohne zusätzliche Pakete aus und kann mit Hilfe von

bildschirmfoto-2017-01-07-um-14-00-12

von meinen GitHub-Account herunter geladen werden. Das Skript schaut in das lokale Verzeichnis nach der Datei Exportieren.xml und wandelt diese in eine Datei mit Namen AppleHealthData.csv um. Sind die Daten in dieses Format erst einmal konvertiert, kann die Verarbeitung innerhalb einer geeigneten Python- und Spark-Umgebung erfolgen. Am einfachsten besorgt man sich diese Umgebung als Docker-Container von DockerHub. Bewährt hat sich der Spark- und Jupyter-Docker-Container von Peter Parente.

bildschirmfoto-2017-01-07-um-14-02-32

Damit die CSV-Daten verarbeiten können müssen diese in den Docker-Container kopiert werden. Dies geht wieder über einen Kommandozeilen-Aufruf mit

$ docker cp AppleHealthData.csv pyspark-notebook:/home/jovyan/work/.

Innerhalb eines neuen Jupyter-Notizbuchs kann die CSV-Datei in ein Spark DataFrame geladen werden.

bildschirmfoto-2017-01-07-um-14-06-48

Das Spark-Dataframe ermöglicht die Verarbeitung der Daten über einfache Funktionen. So ermöglicht die Funktion printSchema() die Ansicht des Schematas der CSV-Daten:

bildschirmfoto-2017-01-07-um-14-11-01

Die Daten enthalten 4 Spalten. In der ersten Spalte steht der Zeitstempel der Aktivität, in der zweiten Spalte der Quelle (z.B. iPhone, Apple Watch etc.), in der dritten Spalte der so genannte HealthType und in der letzten Spalte der so genannte HealthValue. Schauen wir uns den HealthType mal etwas genauer an

bildschirmfoto-2017-01-07-um-14-14-15

Wie zu erkennen ist, stehen in den Daten ganz unterschiedliche Arten von Gesundheitsdaten. Schauen wir uns einmal die Daten eines bestimmten HealthTypes an

bildschirmfoto-2017-01-07-um-14-15-49

Zu sehen sind die Schritt-Messungen meines iPhones aus dem November 2015 auf Sekundenbasis. Aber auch andere Daten sind interessant. Mit Hilfe des HealthTypes KQuantityTypeIdentifierHeartRate wurde die Herzfrequenz mit Hilfe der Apple Watch gemessen.  Den Durchschnittswert aller Messwerte, das Minimum und das Maximum liefert folgende Abfrage

bildschirmfoto-2017-01-07-um-14-20-07

Möchte man lieber die SQL-Notation für die Abfrage der Daten nutzen, so lässt sich dies über den SqlContext von Spark realisieren.

bildschirmfoto-2017-01-07-um-14-23-11

Ich hoffe, die gezeigten Beispiele konnten einen ersten Überblick darüber geben, wie einfach es ist mit Hilfe von Python und Spark, die Gesundheitsdaten von Apples iPhone zu verarbeiten und zu analysieren.

Sommer, Sonne, Strand und Bücher

Die Tage sind gezählt und der Sommerurlaub rückt immer näher. Wie jedes Jahr will der Lesestoff dabei gut geplant sein. Allerdings sind gottlob die Zeiten vorbei, wo man die Wahl der Strandlektüre von deren Gewicht abhängig machen musste. Dank Tablets und eBook-Reader kann man heutzutage nahezu jegliche Anzahl Bücher mit an den Urlaubsort seiner Wahl nehmen. Dieser Sommer steht bei mir ganz klar im Zeichen von Maschine Learning und fantastischer Literatur. Demnach dürfen folgende, neue Fachbücher in elektronischer Form mitreisen:

Maschinendämmerung von Thomas Rid

ist deswegen so spannend, weil es das uralt Thema Kybernetik in seiner historischen Bedeutung für das jetzt (Stichwort quantified self) beleuchtet.

Die Berechnung der Zukunft von Nate Silver

Auch wenn der Autor im aktuellen Spiegel wegen Falschprognosen im US Amerikanischen Wahlkampf sein Fett weg bekommen hat bin ich schon gespannt darauf, wie man das Bayes-Theorem ohne die eigentliche Formel erklären kann. Ich hab mich schon tapfer durch den ganzen Baseball-Kram gekämpft und hoffe jetzt auf weitere Erkenntnisse.

Passend dazu werde ich mir das eine oder andere Kapitel aus

Predictive Analytics for Dummies von Anasse Bari, Mohamed Chaouchi und Tommy Jung

ansehen. Vermutlich aber nur das IV Kapitel über die praktische Anwendung mit Python und R lesen und da mein Python auch schon etwas eingerostet ist werde ich mir noch das eine oder andere Kapitel aus

Automate the boring stuff with Python von Al Sweigart

und

Python for Data Analysis 

ansehen. Damit dürfte die 2. Woche gerettet sein, wenn der berüchtigte Informations-Turkey einsetzt.

An Romanen werde ich folgende Werke endlich mal durchlesen:

Chronik des Cthulhu-Mythos von H.P. Lovecraft 

Als echter Klassiker dieses Jahr mein „Der weisse Hai“-Ersatz. Ausserdem mag ich die Sprache der ersten Dekaden des 19. Jahrhunderts sehr gern und mein Wissen um das Gesamtwerk von H.P. Lovecraft kann eine Auffrischung vertragen. Mit

Blade Runner/Ubik/Marsianischer Zeitsturz von Philip K. Dick

steht ein weiterer Klassiker auf meiner Romanliste den ich endlich einmal durchlesen möchte obwohl ich Blade Runner schon sicherlich drei Mal gelesen habe.

 

2015 – Das Jahr der Sensoren

Big Data ist ja vor allem dort interessant, wo sich diese Daten selber erzeugen lassen. Mittlerweile gibt es für viele Lebensbereiche Systeme, mit denen man die unterschiedlichsten Daten einfach und automatisch erfassem kann. Gut ist, dass die Hersteller solcher Systeme immer mehr dazu übergehen, offene Schnittstellen für den Zugriff auf diese Daten zu realisieren. Zwar nutzen viele dieser Systeme für den Privatgebrauch zumeist Apps für iOS und Android, aber diese „sprechen“ zumeist über HTTP(S) oder Bluetooth mit den Sensoren. Systeme die keine ausreichende Dokumentation ihrer Datenschittstelle aufweisen, werde ich meiden und nur die Systeme kaufen, bei denen ich selber die Möglichkeit bekomme die Daten auszulesen. Folgende Geräte werde ich 2015 nutzen um für mich interessante Daten zu erheben:

1. Wetterstation von Netatmo

6_v

Zugegeben hat mich auch der Formfaktor dieser eleganten Aluminumröhren angesprochen. Mit Hilfe der zwei Stationen lassen sich Aussentemperatur, Luftfeuchtigkeit und Luftdruck im Aussenbereich und Temperatur, Luftfeuchtigkeit, Luftqualität, CO2-Gehalt und der Schallpegel in dB im Innenbereich messen. Einmal im WLAN konfiguriert lassen sich die Daten über eine Webseite bei Netatmo oder über eine entsprechende App für iOS (iPhone und iPad) oder Android anzeigen. Hier werden nicht nur die aktuellen Werte angezeigt, sondern auch zeitliche Verläufe dargestellt.
Zugriff auf die Daten enthält man über eine RESTful API welche hier dokumentiert ist. Auch hier erweist sich GitHub als Quelle der Wahl um die Anbindung an die Lieblingsprogrammiersprache zu finden. So findest sich hier eine Anbindung der Wetterstation in Python und hier eine für Java.

2. Die intelligente Steckdose Fritz!DECT200 von AVM

fritzdect_200_left_de_640x600

Seit dem wir Stromkunden bei Lichtblick sind und damit ausschliesslich Ökostrom beziehen, interessiere ich mich noch einmal mehr dafür, welche Gerät in unserem Haushalt wieviel Strom verbaucht. Um das herauszufinden kann man einfache Energiemonitore wie die Voltcraft-Geräte von Conrad nutzen. Da ich die so erhobenen Daten gerne digital weiterverarbeiten möchte, habe ich mich nach einem entsprechenden Gerät mit WLAN-Anschluss umgeschaut. Die Fritz!DECT200 hat sich angeboten, da wir selber eine Fritzbox von AVM für unsere Telefonie und unseren Zugang zum Internet nutzen. Allerings werden die Daten hier nicht über WLAN sondern über eine verschlüsselte DECT-Verbindung zur Fritzbox übertragen. Dort lässt sich die Steckdose auch konfigurieren und bei bedarf auch ein- und ausschalten.

Mein Ziel ist es, gängige Verbraucher mit Hilfe der Fritz!DECT200 über den Zeitraum von einer Woche zu vermessen um so ein Gefühl dafür zu bekommen, was zum Beispiel unsere Waschmaschine, unsere Spülmaschine, unser Fernseher (inkl. aller daran angeschlossener Geräte) und mein Computer pro Woche an Strom verbrauchen. Praktisch bei der Konfiguration der AVM Steckdose ist, dass sich auch der Preis einer Kilowattstunde (aus der aktuellen Stromrechnung) hinterlegen lässt.

Um an die Daten unabhängig von der Fritzbox zu kommen, bietet AVM sein Home Automation HTTP Interface an. Über diese Schnittstelle lassen sich die Daten der Steckdose auslesen oder schalten. Wer keine Lust hat die Schnittstelle selber zu implementieren wird auch auf GitHub fündig. So liefert zum Beispiel Roland Huss eine einfache Anbindung zu Perl.

3. Aktivitätstracker FitBit ZIP

simple.b-cssdisabled-jpg.h44f5ed89bcca0dbb35dbf5da738ded64.pack

Den FitBit ZIP hab ich jetzt schon über ein Jahr. Interessant an dem Gerät finde ich eigentlich nur den Schrittzähler. Nachdem ich diesen bereits Anfang letztes Jahr zur Unterstützung meiner „guten Vorsätze“ angeschaft hatte, nutze ich ihn seit Anfang diesen Jahres vermutlich aus dem gleichen Grund. Er motiviert mich das eine oder andere Stockwerk zu Fuss und nicht nur mit dem Fahrstuhl zu erreichen und er belohnt mich am Ende des Tages dafür, wenn ich ohne Schirm zu Fuss durch den Regen nach Hause gehen muss. Die Daten sind bequem über die Webseite und über die iOS oder Android App einzusehen. Auch FitBit bietet hier eine Dokumentation zu ihrer RESTful API an. Auch hier findet sich, wie bei den eingangs beschriebenen Geräten, Implementierungen der Schnittstelle für die unterschiedlichsten Programmiersprachen auf GitHub. Von Brad Pitcher stammt die Python Implementierung der API.

Mal sehen, welche der genannten Geräte ich am Ende dieses Jahres immer noch nutze und welche Ergebnisse ich mit der Nutzung von ihnen erzielt habe. Happy Hacking 2015!

Facebook mit SQL-Engine für Hadoop

banner01

In meinem Artikel in der iX 08/2013 habe ich mich mit den unterschiedlichen Produkten rund um Realtime-SQL und Hadoop beschäftigt. Nun gibt es ein solches Produkt auch von Facebook. Es heisst Presto und steht als Open Source über GitHub unter Apache Lizenz. Die Mächtigkeit der unterstützten SQL-Ausdrücke lässt zwar noch ein wenig zu wünschen übrig in der aktuellen Version 0.52, aber ein ordentliches SELECT gibt es schon mal. Wer die Geschwindigkeit von Hive kennt, wird über das Video auf der Startseite von Presto sicherlich erfreut sein. Hier findet keine aufwändige Code-Generierung für MapReduce-Jobs sondern eine echte Verteilung der SQL-Abfrage statt. Bleibt abzuwarten ob Facebook Presto in dem Umfang weiter entwickelt wie Hortonworks Stinger oder Cloudera Impala.

Hadoop-Cluster mit Einplatinencomputern

Foto 1

Der Raspberry Pi wurde mit dem Ziel entwickelt, einen einfachen und vor allen Dingen preiswerten Computer anbieten zu können. Dieser Computer sollte als Lerncomputer, Informatik Studenten an die Grundlagen der Programmierung heranführen. 1.75 Mio. Raspberry Pis wurden bisher verkauft. Kein Wunder also, dass auch andere Anbieter Einplatinencomputer herausbrachten, die das ursprüngliche Design an der einen oder anderen Stelle erweitert haben. Preislich liegen diese Platinen zwar entsprechend höher, bieten sie dafür aber interessante Features wie mehr Haupt- oder Flashspeicher, Festplatteneinschlüsse oder WLAN. So war das Cubieboard eines der ersten Einplatinencomputer mit SATA-Schnittstelle an der 2.5 Notebook-Festplatten angeschlossen werden konnten. Dieses ARM-basierte Board mit seinem doppelt so großen Hauptspeicher wie der Raspberry Pi, eignet sich denn auch für komplexere Projekte wie es der Aufbau eines vollwertigen Big-Data-System mit Hadoop 2.2.0 nötig macht. Mehr dazu am 6. November auf dem Special Day Big Data auf der W-JAX.

W-JAX Speakerbutton_de

 

Neuer Bienenstock – Neues Hive 0.11 Release verfügbar

Hive

Da haben sich alle Entwickler des freien Datawarhouses in den letzten Monaten mächtig ins Zeug gelegt. Seit der letzten Release-Veröffentlichung vom Januar diesen Jahres wurde 350 Tickets abgearbeitet. Neben einer Reihe von Bug-Fixes kamen auch einige neue Funktionen hinzu. Dazu gehören vor allem so wichtige Neuerungen wie:

  • Das neue Optimized Row Columnar (ORC) Dateiformat
  • Der neue HiveServer2 für die Anbindung mehrerer, gleichzeitiger (JDBC/ODBC) Verbindungen
  • Neue OLAP-Funktionen für das Windowing
  • Den neuen Datentyp DECIMAL
  • Implementierung des TRUNCATE Befehls, welcher die Daten innerhalb einer Tabelle löscht, deren Metadaten aber erhält

Bleibt zu hoffen, dass die Anbieter von Hadoop Distributionen wie Cloudera, Hortonworks, Intel, IBM und EMC hier bald eine Integration vornehmen.

Himbeeren für den Elefanten – Hadoop Cluster mit Raspberry Pis

Auch wenn ein Hadoop-Cluster sich auf gewöhnlicher Server-Hardware einrichten lässt, sind auch schon bei kleinen Clustern mit 4 bis 5 Nodes 5-stellige Eurobeträge fällig. So beschreibt Eric Sammer von Cloudera in Hadoop Operation das für die NameNode eines kleinen Clusters bereits 24GB RAM und eine zwei Quardcore CPUs nötig sind. Für die DataNodes dann noch mal 48GB und entsprechend viele SAS Platten.

Um den Umgang mit Hadoop zu lernen ist dieser finanzielle Aufwand nicht zu rechtfertigen. Aus diesem Grund gehen immer mehr wissenschaftliche Einrichtungen dazu über ihren Schülern und Studenten mit entsprechenden Gutscheinen von Amazon ausgestattet, um die Erstellung und Nutzung paralleler Algorithmen auf gesponserten EC2-Instanzen zu lehren.

Bryan Wann zeigt in Seinem Blog-Post auf, dass es auch anders geht. Er hat aus 7 Raspberry Pis, einem Switch, 32GB SDHC Karten und einem HELMER-Unterschrank von IKEA ein Mini-Hadoop-Cluster aufgebaut. Eine sehr coole Idee. Leider krankt es noch an der geringen RAM-Ausstattung und dem fehlenden SATA-Interface um daraus mehr zu machen, als nur ein akademisches Projekt. Vielleicht sollte man das ganze mal mit Cubieboard testen.