Welchen HBase Connector für Spark 2.0 sollte ich verwenden?

8

Unser Stack besteht aus Google Data Proc (Spark 2.0) und Google BigTable (HBase 1.2.0) und ich suche nach einem Connector, der mit diesen Versionen arbeitet.

Die Spark 2.0 und die neue DataSet API-Unterstützung ist für die gefundenen Connectors nicht klar:

Das Projekt ist in Scala 2.11 mit SBT geschrieben.

Danke für Ihre Hilfe

    
ogen 01.12.2016, 11:00
quelle

2 Antworten

7

Ich glaube nicht, dass einer dieser (oder ein anderer bestehender Connector) alles tun wird, was Sie heute möchten.

  • spark-hbase wird wahrscheinlich die richtige Lösung sein, wenn es veröffentlicht wird (HBase 1.4?), aber baut derzeit nur am Kopf und arbeitet noch an der Spark 2-Unterstützung .
  • spark-hbase-connector scheint RDD-APIs nur zu unterstützen, aber da sie stabiler sind, könnte dies hilfreich sein.
  • hortonworks-spark / shc funktioniert wahrscheinlich nicht, weil ich glaube, dass es nur Spark 1 unterstützt und ältere HTable-APIs verwendet, die nicht mit BigTable funktionieren.

Ich würde empfehlen, nur HBase MapReduce APIs mit RDD-Methoden wie newAPIHadoopRDD (oder möglicherweise der Spark-hbase-Connector?) zu verwenden. Dann wandeln Sie die RDDs manuell in DataSets um. Dieser Ansatz ist in Scala oder Java wesentlich einfacher als in Python.

Dies ist ein Bereich, an dem die HBase-Community arbeitet, um sie zu verbessern, und Google Cloud Dataproc wird diese Verbesserungen nach und nach übernehmen.

    
Patrick Clay 01.12.2016, 19:33
quelle
1

Zusätzlich zur obigen Antwort bedeutet die Verwendung von newAPIHadoopRDD , dass Sie alle Daten von HBase erhalten und von nun an den Kernfunke. Sie würden keine HBase-spezifische API wie Filter usw. bekommen Und die aktuelle spark-hbase, nur Momentaufnahmen sind verfügbar.

    
Ramzy 01.12.2016 21:09
quelle