Jeff Feng, Product Manager Tableau Software Fünf Best Practices für Tableau und Hadoop 2 Tableau wurde dafür ausgelegt, eine Interaktion mit Daten in Echtzeit über mehrere Datenplattformen hinweg zu unterstützen. Die neuen Techniken finden großen Anklang bei Geschäftsanwendern, die herkömmliche Tools eher als umständlich empfinden. Was geschieht nun, wenn Abfragen Minuten oder gar Stunden in Anspruch nehmen, anstatt nur wenige Sekunden? Wie lässt sich der „Flow“ erhalten? Wir leben in einem Zeitalter, in dem Millionen oder sogar Milliarden von Datenzeilen per Tastendruck analysiert werden können – wobei die Benutzer nahezu sofortige Ergebnisse erwarten (siehe Studie zur 2-Sekunden-Regel für den Abruf von Daten). Dauert die Spanne zwischen Eingabe und Antwort länger als 2 oder 3 Sekunden, ist der Benutzer schon abgelenkt und nicht mehr im „Flow der visuellen Analyse“. Deshalb sind schnelle Abfragen ein absolutes Muss, damit der Benutzer bei der Sache bleibt und umfassendere Einblicke durch die Big DataBereitstellungen gewinnt. Anwender können zahlreiche Best Practices anwenden, um effizientere Tableau-Visualisierungen und Dashboards zu erstellen, die auf Big Data-Plattformen aufbauen. Die Best Practices sind in der Regel den folgenden fünf Bereichen zuzuordnen: 1. 2. 3. 4. 5. Nutzung einer schnellen interaktiven Abfrage-Engine Strategischer Einsatz von Direktverbindungen anstelle von Extrakten Zusammenstellen der Daten aus dem Datensee Optimieren der Extrakte Anpassen der Verbindungsleistung 3 1. Nutzung einer schnellen interaktiven Abfrage-Engine Über Hadoop mit MapReduce ausgeführte Hive-Abfragen sind naturgemäß langsam, da die Zuordnung von SQL-Abfragen in einen MapReduce-Auftrag aufwändig ist. Hive mit MapReduce eignet sich dank außerordentlicher Fehlertoleranz hervorragend zur Stapelverarbeitung, wie z. B. bei ETL-Anwendungen, allerdings lässt die Leistung zu wünschen übrig. Durch Weiterentwicklungen bei Hive sind neue AnwendungsNeue Benchmarks für SQL-on-Hadoop: Impala 1.4 vergrößert die Leistungskluft Frameworks wie Tez (für interaktive Abfragen) und Spark (für In-Memory-Verarbeitung) entstanden und verbessern die Abfragegeschwindigkeiten erheblich. Abgesehen von Hive mit Hadoop gibt es eine Reihe von ausgezeichneten Möglichkeiten zum Beschleunigen Ihrer Abfragen. Laut neuester Benchmarks bietet Impala gemeinhin die schnellste Performance mit Hadoop. Auch wenn Spark SQL noch in einer frühen Entwicklungsphase steckt, zeigt sich sein großes Potenzial als schnelle Datenverarbeitungs-Engine. Es kann in Hadoop oder Spark Schema RDDs gespeicherte Daten verarbeiten, auf die mit einem Hive-Metastore verwiesen wird. Impala und Spark SQL werden als benannte Konnektoren in Tableau unterstützt. Beim Big Data-Benchmark liefert einen quantitativen und qualitativen Vergleich der fünf Systeme. Thema Leistung von Hadoop werden auch immer wieder Pivotal HAWQ, Presto und Apache Drill genannt. Eine weitere Option ist der Blick über Hadoop hinaus. Schnelle analytische Datenbanken wie Actian Vector, HP Vertica, Teradata Aster Data, SAP Hana, ParAccel, Pivotal Greenplum eignen sich perfekt, um Ihre Daten für latenzarme Abfragen von Tableau-Geschäftsanwendern nach der Verarbeitung in Hadoop bereitzustellen. Auch in der Cloud gehostete Infrastrukturdienste erfreuen sich steigender Beliebtheit. Google BigQuery nutzt die umfassende Infrastruktur von Google, die sowohl bei der Verarbeitung von Daten als auch bei der Unterstützung schneller Abfragen äußerst leistungsstark ist, insbesondere bei großen Datensätzen. Amazon Redshift ist hingegen ein vollständig verwaltetes, spaltenbasiertes Data Warehouse, das auf einen schnellen Datenzugriff ausgerichtet ist. Zudem gibt es noch neu entstehende Technologien von Startup-Unternehmen und Open-Source-Projekten, die OLAP Cubes (AtScale, eBay Kylin) oder Indizierungs-Engines (JethroData) für Hadoop nutzen und so Abfragen für eine Milliarde Zeilen oder mehr bei geringer Latenz ermöglichen. 4 2. Strategischer Einsatz von Direktverbindungen anstelle von Extrakten Die hybride Datenarchitektur von Tableau stellt Verbindungen entweder live mit der Datenquelle oder über einen In-Memory-Extrakt mit der Daten-Engine von Tableau her. Dadurch erhalten Benutzer bei der Arbeit mit Big Data eine absolute Flexibilität. Extrakte sind eine ideale Lösung, wenn schnelle Abfrage-Engines nicht verfügbar sind, die Datensätze eine geringe bis mittlere Größe aufweisen (Hunderte Millionen von Zeilen oder weniger) oder eine Offline-Analyse benötigt wird. Bei größeren Datensätzen bieten Hadoop Hive und andere Abfrage-Engines aufgrund der verteilten Ausführung eine bessere Skalierung als Tableau. Bei Verfügbarkeit einer schnellen DatenbankEngine oder für Analysen in Echtzeit ist eine Direktverbindung die bessere Wahl. Die vollständige Liste der empfohlenen Szenarios finden Sie unten in Abbildung 1. Verwendung von Verwendung der Extrakten empfohlen Direktverbindung empfohlen Langsame Ausführung von Verfügbarkeit einer schnellen Datenbankabfragen Datenbankabfrage-Engine Bei Verwendung kleinerer Datensätze (z. B. Hunderte Millionen von Zeilen oder weniger) Wenn größere Datensatzdimensionen erforderlich sind Wenn Offline-Analysen Wenn Analysen in Echtzeit erforderlich sind erforderlich sind Verwendung benutzerdefinierter SQL-Abfragen Wenn zusätzliche Analysefunktionen benötigt werden (Festlegen, Rang, Eindeutig, Median) Wenn eine Arbeitsmappe Pass-Through-Funktionen (RAWSQL) verwendet Wenn robuste Sicherheitsfunktionen auf Benutzerebene benötigt werden (außer für Extrakte, die auf Tableau Server veröffentlicht sind) Abbildung 1: Vergleich empfohlener Szenarios für Extrakte und Direktverbindungen. 5 3. Zusammenstellen der Daten aus dem Datensee Einer der zahlreichen Vorteile von Hadoop besteht darin, dass Skalierung, Kosteneffizienz und die Unterstützung unstrukturierter Daten es zum perfekten Datensee machen, also einem Repository für Ihre gesamten Daten im nativen Format. Tableau ist ein effektives Tool zum Erkunden von Daten im Datensee. Um jedoch für Ihre Wissensarbeiter die bestmögliche Leistung für die Visualisierung mit Hadoop herauszuholen, empfiehlt sich immer eine Zusammenstellung der Datensätze. IT-Administratoren können eine Reihe unterschiedlicher Verfahren anwenden, um die Effizienz des Hadoop-Clusters zu steigern: Partitionsgestaltung: Durch Strukturierung einer Hive-Tabelle in einzelne Dateien (jeweils mit vielen Datenblöcken) in einem verteilten System mit einem oder mehreren Partitionierungsfeldern lassen sich Abfragen im Vergleich zu Abfragen, die nach einem nicht partitioniertem Feld gefiltert werden, erheblich beschleunigen. Datensatzgröße: Wenn die Dimensionen und Maße, die für einen Satz von Analysen betrachtet werden sollen, sowie der Datensatzbereich bekannt sind, sollten Sie den Datensatz, der für die Wissensarbeitern abrufbar ist, beschränken, um die Leistung zu erhöhen. Cluster-Felder als Gruppierungsfelder und Joinkeys: Cluster-Felder können bestimmen, wie die Daten in der Tabelle auf dem Datenträger unterteilt sind. Bei verknüpften und gruppierten Cluster-Feldern erhöht sich die Leistung. Speicherdateiformat: Bei der effizienten Ausführung von Abfragen spielt das Dateiformat eine wichtige Rolle. Verwenden Sie das Dateiformat, das sich für die verwendete Abfrage-Engine am besten eignet. Für Hive empfiehlt sich das ORC(Optimized Row Columnar)-Format, für Impala das Parquet-Format. Datenmodellgestaltung: • Datentypen: Verwenden Sie möglichst numerische Typen, da sie wesentlich schneller sind als Zeichenfolgen. • Verknüpfungen: Vermeiden Sie unnötige Verknüpfungen, da sie bei vielen Big Data-Systemen nicht zufriedenstellend implementiert sind. Wenn Sie Verknüpfungen verwenden, führen Sie zuerst eine COMPUTE STATS-Anweisung aus, die die Leistung für Verknüpfungsabfragen automatisch optimieren kann. • Formeln: Vermeiden Sie Formeln, die nicht effizient ausgewertet werden können. 6 4. Optimieren der Extrakte Die Daten-Engine von Tableau ist eine speicherinterne Analysedatenbank, die die komplette Speicherhierarchie von der Festplatte bis hin zum L1-Cache nutzt. Dieses leistungsstarke Tool kann Analysen erheblich beschleunigen. Die Daten-Engine von Tableau ist nicht mit der Skalierung von Hadoop konzipiert, sie kann jedoch latenzarme Ergebnisse zu Datenextrakten mit einer Kardinalität aus Hunderten von Millionen Zeilen und einer hohen Anzahl von Spalten liefern. Obwohl die Nutzung von Extrakten in der Daten-Engine von Tableau die Leistung in der Regel automatisch erhöht, gibt es verschiedene Möglichkeiten, Abfragen durch eine Komprimierung der Daten zu beschleunigen. Definieren von Filtern: Erstellen Sie einen Filter, sodass der Schwerpunkt auf den relevanten Daten liegt. Ausblenden nicht verwendeter Felder: Blenden Sie Felder aus, die für die Analyse nicht erforderlich sind, sodass der Extrakt kompakt und präzise ist. Aggregieren sichtbarer Dimensionen: Aggregieren Sie Daten im Voraus, um einen groben Überblick zu erhalten, wenn Sie auch ohne detaillierte Daten die gleichen Einblicke mit schnelleren Abfragen erhalten. Rollup für Daten: Führen Sie wenn möglich einen Rollup für Daten für gröbere Zeitachsen aus. Stichproben: Bei Datenbanken, die Datenstichproben unterstützen, können die so erheblich komprimierten Daten dennoch die allgemeinen Trends widerspiegeln. Oberste N: Wenn Sie nur die höchsten Werte in einem Datensatz suchen, kann die Größe des Datensatzes mit dieser Methode effizient verringert werden. 7 5. Anpassen der Verbindungsleistung Für Tableau-Benutzer gibt es verschiedene Möglichkeiten, um die Verbindungsleistung für Direktabfragen zu optimieren: Benutzerdefinierte SQL-Abfragen: Bei benutzerdefinierten SQL-Abfragen können Verbindungen in Tableau auf SQL-Ausdrücke aufgebaut werden. Benutzerdefinierte SQL-Abfragen sind sehr effizient, um die Größe von Datensätzen einzugrenzen (mit der LIMIT-Klausel), sodass Sie einen neuen Datensatz untersuchen oder umreißen können. SQL-Anfangsdaten: Mit SQL-Anfangsdaten können Sie Konfigurationsparameter festlegen und sofort nach dem Herstellen einer Verbindung mit der Arbeit beginnen. Sie können zum Beispiel folgende Aktionen ausführen: • Erhöhen Sie die Parallelität bei der Datenanalyse, indem Sie die Standardblockgröße bei Map- und Reduce-Funktionen reduzieren. • Erhöhen Sie die Verknüpfungsleistung, indem Sie Cluster-Felder aktivieren. • Passen Sie Konfigurationen für eine ungleichmäßige Verteilung an, indem Sie in den Einstellungen festlegen, wie Hive MapReduce-Aufträge auf andere Weise ausführen soll. Zusammenfassung Das Zeitalter der Big Data ist angebrochen. Die Menge der Daten nimmt ständig und immer schneller zu. Um die neue Normalität im Datenbereich bewältigen zu können, verlagern viele Unternehmen ihre Dateninfrastruktur auf Hadoop, Spark und NoSQL. Da Tableau auch auf den herkömmlichen Geschäftsanwender ausgerichtet ist, werden die visuellen Einblicke von Big Data allgemein zugänglich. Indem Sie Best Practices anwenden und Ihrer jeweiligen Anwendung entsprechend anpassen, können Sie aus Ihrer Big Data-Investition maximalen Nutzen ziehen. 8 Über Tableau Tableau unterstützt die Anwender dabei, ihre Daten anschaulich und verständlich aufzubereiten. Mit Tableau analysieren und visualisieren die Nutzer vorhandene Informationen blitzschnell und teilen die Ergebnisse mit anderen. Mehr als 26.000 Unternehmen weltweit nutzen Tableau im Büro und unterwegs für schnelle Analysen. Zehntausende Nutzer verwenden Tableau Public, um anderen Personen Daten in Blogs und auf Websites zur Verfügung zu stellen. Laden Sie die kostenlose Testversion herunter und erleben Sie, wie Tableau Sie unterstützen kann: www.tableau.com/de-de/trial. Weitere Ressourcen Kostenlose Testversion herunterladen Produkt-Demos Schulungen und Lernprogramme Community und Support Kundenberichte Lösungen Ähnliche Whitepapers Die Big Data-Vision von Tableau Sieben Tipps für den Erfolg mit Big Data Fostering a Data-Driven Culture: A Special Report from the Economist Intelligence Unit and Tableau Big Data: The Next Industrial Revolution Tableau Software und Big Data Aberdeen Group: Maximizing the Value of Analytics and Big Data Alle Whitepapers anzeigen Tableau und Tableau Software sind Marken von Tableau Software, Inc. Alle anderen Firmen- und Produktnamen sind möglicherweise Marken der jeweiligen Unternehmen, denen sie zugeordnet sind.