Wie benutze ich hbase mit Spring Boot mit Java anstelle von XML?

8

Ich habe Spring Boot Hadoop und möchte das Spring HbaseTemplate nutzen. Mein Problem ist, dass die Dokumentation nur Informationen über den "xml" Weg der Konfiguration und Einrichtung enthält.

Wie und wo definiere ich meine Konfiguration in der hbase-Konfiguration in Java im Gegensatz zu der XML-Datei, wie sie in den offiziellen Dokumenten angezeigt wird?

Ссылка

    
Rolando 17.07.2014, 04:50
quelle

5 Antworten

5

Nun, es ist nicht wirklich eine erwartete Antwort, aber ich möchte es zu sehr für einen Kommentar entwickeln.

Ich lese sorgfältig die Spring für Apache Hadoop - Referenzdokumentation In seiner letzten veröffentlichten Version, und wenn es Beispiele und Details für die Namespace-Konfiguration enthält, konnte ich keine einzige Zeile in der Java-Konfiguration finden.

Nach meinem Verständnis wird derzeit nur Namespace-Konfiguration für Spring für Apache Hadoop unterstützt. Es sollte sicherlich möglich sein, die Klassen zu betrachten, die den Namensraum unterstützen, und eine funktionierende Konfiguration zu hacken, um herauszufinden, wie man mit java config das gleiche Ergebnis erhält, aber ehrlich gesagt, das Kosten-Gewinn-Verhältnis rechtfertigt das nicht. Und da es momentan undokumentiert ist, wirst du nie sicher sein, dass du etwas nicht vergessen hast, das später bricht.

Da Spring XML-Konfigurationsdateien in eine Java-Config-Spring-Anwendung einbinden möchte, rate ich Ihnen dringend, Ihre gesamte Java-Konfiguration beizubehalten, den Apache-Hadoop-Teil in XML mit dem angegebenen Namespace zu schreiben und einfach ein @ImportResource hinzuzufügen. Anmerkung zu Ihrer Konfigurationsklasse. Nehmen wir an, die Spring-Hadoop-Konfiguration ist hadoopContext.xml im Stammverzeichnis von classpath. Sie könnten schreiben:

%Vor%

Alternativ können Sie auch einen @Configuration -Wrapper für die XML-Konfiguration verwenden, die von Spring gescannt wird:

%Vor%     
Serge Ballesta 19.08.2014, 16:15
quelle
4

Obwohl eine Java-basierte Konfiguration für HBase noch nicht offiziell verfügbar ist (erst seit Spring Hadoop 2.2.1), gibt es eine saubere Problemumgehung. Fügen Sie die relevanten ZooKeeper-Details als Eigenschaften in eine Java-basierte Spring Hadoop-Konfiguration ein. Dann muss das hbase-configuration XML-Tag keine Konfigurationsdetails enthalten. Per Konvention hängt dies von der hadoopConfiguration -Bohne ab, die von der Java-basierten HadoopConfigConfigurer definiert wird.

%Vor%

Die verbleibende XML-Konfiguration ist für die Implementierungsumgebung unabhängig:

%Vor%     
amoebob 30.11.2015 18:53
quelle
1

Sie können diese Beispiele durchsuchen Ссылка
Ссылка
Ссылка

    
Saurabh 11.11.2015 18:18
quelle
1

Ich habe ein einfaches Demo-Projekt geschrieben, um hbase in der Spring-Boot-Anwendung ohne XML zu verwenden.

Diese Demo hängt hauptsächlich von spring-data-hadoop und hbase-client ab. Gradle Abhängigkeiten:

%Vor%

Konfigurieren Sie die hbase-Verbindungsparameter in der Datei application.properties von spring boot (Kein XML!):

%Vor%

Klasse HbaseProperties.java:

%Vor%

HbaseConfig.java, injiziere die Konfigurationen in die HbaseTemplate:

%Vor%

Serviceklasse, wir können jetzt das konfigurierte HbaseTemplate verwenden:

%Vor%

Viel Spaß! :)

    
qianlei 27.11.2017 06:46
quelle
0

Sie können die Spring-Hadoop-Proben in Github überprüfen, insbesondere die Dateien in Spring-Hadoop-Proben / Originalproben / HBase-Crud. Das Repository befindet sich unter Ссылка

Hoffe das hilft dir.

    
Kuntal-G 17.07.2014 06:41
quelle