2016-06-19 11 views
0

einrichten Ich verwende tatsächlich eine große Datenumgebung, wo ich Daten mit Apache Nifi aufnehmen und verarbeiten. Die Ergebnisse werden in einer HBase-Tabelle gespeichert und ich möchte mit Hive auf die gespeicherten Daten zugreifen. Jetzt möchte ich einen REST-Service einrichten, der aus der HBase-Tabelle liest. BeispielWie ein REST-Service mit einem Ergebnis als Hhtprespon auf Hadoop

erhalten http://localhost:50111/userid/42 -> http-Antwort { "Benutzer-ID": 42 "name": "foobar"}

Ich dachte, dass dies mit einer bestehenden Lösung ein Standardproblem ist, aber es ist nicht . Das Problem ist, dass ich das Ergebnis nicht als http-Antwort senden kann.

Zuerst versuche ich es mit Nifi und der Webservice funktioniert, aber nur mit statischem Inhalt wie "200 OK" oder "404 Not Found". Also ich probiere es ohne Nifi. Ich las und alle sagten, dass WebHCat das Tool ist, das es zu benutzen gilt, weil es das REST-API-Tool für Hive ist. Groß! Aber ... das gleiche Problem: Ich kann Abfragen über einen REST-Service mit WebHCat und Hive auf HBase ausführen, aber es gibt keine Option, das Ergebnis erneut zu erhalten.

Mit meinem derzeitigen Wissen gibt es keine fertige Lösung und ich muss meinen eigenen REST-Service entwickeln. Recht? Ja wirklich?!

Muss ich meinen eigenen REST-Service entwickeln, oder was ist in diesem Fall die beste Vorgehensweise? Nifi? Hiveserver2? Zusätzlich möchte ich den REST-Service mit Knox und Ranger sichern.

Ich hoffe jemand könnte mir helfen und mir den richtigen (!) Weg zeigen, denn ich möchte nicht etwas Neues und Besonderes machen, wenn es eine bessere oder Best-Practice-Lösung gibt.

dank ~ n3

Antwort

1

@ n3 - Sie haben hier eine Reihe von Optionen.

Werfen Sie einen Blick auf http://hortonworks.com/blog/hbase-via-hive-part-1/ für eine grundlegende HBase Interaktion mit Bienenstock. Sie sind wahrscheinlich auch besser dran, Phoenix für diese Art von Usecase http://phoenix.apache.org/ zu betrachten.

Wenn Sie in Richtung WebHCat und/oder HiveServer2 gehen, können Sie den Zugriff auf beide über Apache Knox mit Zugriffssteuerung von Apache Ranger bereits verarbeiten.

Darüber hinaus verfügt Apache HBase über einen eigenen REST-Server, auf den Sie auch über Apache Knox zugreifen und mit Apache Ranger schützen können. http://hbase.apache.org/book.html#_rest

Hoffe, das bietet einige Hilfe.