2015-04-02 15 views
6

Was ist schneller/einfacher in SQL zu konvertieren, die SQL-Skripte als Eingabe akzeptieren: Spark SQL, die als eine Ebene der Geschwindigkeit für Hive hohe Latenzabfragen oder Phoenix kommt? Und wenn ja, wie? Ich muss viele Upserts/Joining/Gruppierung über die Daten machen. [hbase]Apache Phoenix vs Hive-Spark

Gibt es eine Alternative zu Cassandra CQL zur Unterstützung der oben genannten (Beitritt/Gruppierung in Echtzeit)?

Ich bin sehr wahrscheinlich an Spark gebunden, da ich MLlib nutzen möchte. Aber für die Verarbeitung der Daten, die meine Option sein sollte?

Danke, Kraster

Antwort

1

http://phoenix-hbase.blogspot.com/ ich mehr als sicher, dass Phoenix auf Hbase schneller arbeiten.

Hier ist Beispiel Abfrage und PC-Anforderung für den Test Abfrage: Wählen Sie Anzahl (1) aus der Tabelle über 10M und 100M Zeilen. Daten sind 5 schmale Spalten. Anzahl der Regionsserver: 4 (HBase-Heap: 10 GB, Prozessor: 6 Kerne bei 3,3 GHz Xeon) enter image description here Weil Phoenix die HBASE-Clientschnittstelle zum Laden aller Abfragen verwendet und die Abfrage-Engine nur zum Zuordnen der SQL-Aufgabe für die Kartenreduzierungsaufgabe in HBase verwendet

+0

Die Frage ist über Hive-Spark. In diesem Diagramm wird nicht erwähnt, ob Hive MR oder Spark ausführt. Es scheint, der Vergleich ist mit Hive MR statt Spark – sinu

2

Sie haben ein paar Optionen (von meinem Wissen)

  1. Apache phoenix ist eine gute Wahl für Low-Latency und mittelgroße Tabelle (1M - 100M Reihen, aber mit vielen Spalten von Tabellen aufgepasst!) wird bearbeitet. Ein großes Plus für Phoenix ist, dass es wirklich einfach ist, anzufangen. Meine Firma hatte bereits einen HBase-Cluster (mit Kerberos) eingerichtet. Um Phoenix zu nutzen, brauchte ich nur die HMaster-URL, Hbase-site.xml und eine Keytab, um die Operation zu starten. Sehr schnelle Lese- und Schreibvorgänge sind in Ordnung (es ist langsamer für mich, weil ich es dynamisch machen musste, also war ich gezwungen, die Java-Client-API anstelle des Massenladens zu verwenden)

  2. Hive mit Spark ist auch großartig. Ich bin mir nicht sicher, wie großartig eine Aufführung über Phoenix ist. Da Spark die meisten Dinge im Speicher speichert, gehe ich davon aus, dass es schnell gehen sollte. Allerdings kann ich Ihnen sagen, wenn Sie den SQL-Zugriff als eine Art von API verfügbar machen wollen, wird die Verwendung von Funken ziemlich schwierig.

  3. Presto ist ein großartiges Produkt, das Funken wie Rechenleistung mit SQL-Schnittstelle bietet, die Sie inter connect Daten aus vielen Quellen (Hive, Cassandra, MySQL ..etc)

Hoffnung Auf diese Weise können hilft.