/ / Konfigurieren von Hive zur Ausführung im lokalen Modus - hadoop, mapreduce, hive, hiveql

Konfigurieren von Hive für die Ausführung im lokalen Modus - hadoop, mapreduce, hive, hiveql

Hallo, ich versuche, Hive im lokalen Modus auszuführen, habe ich die Umgebungsvariable HIVE_OPTS festgelegt

export HIVE_OPTS="-hiveconf
mapred.job.tracker=local
-hiveconf fs.default.name=file:////<myhomedir>/hivelocal/tmp
-hiveconf hive.metastore.warehouse.dir=file:////<myhomedir>/hivelocal/warehouse
-hiveconf javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=/<myhomedir>/hivelocal/metastore_db;create=true"

und verbunden mit Bienenstock Verwendung hive Klient

wenn ich die Tabelle (Name demo), Ich sehe immer noch, dass der Tisch in der erstellt wird default Datenbank in HDFS. Ich habe erwartet, dass die Tabelle im lokalen Dateisystem erstellt wird (file:///) wie ich das Lager mit eingestellt habe hive.metastore.warehouse.dir=file:////<myhomedir>/hivelocal/warehouse

Fehle ich hier etwas?

PS: Ich benutze Cloudera Distribution

Antworten:

3 für die Antwort № 1

Ich hatte auch das gleiche Problem. Unten sind die Schritte (mit Trial & Error), denen ich gefolgt war, um das gleiche zu beheben.

  1. gehe zu /etc/hive/conf & umbenennen hive-site.xml generiert von Cloudera.

  2. Überprüfen Sie die Berechtigung für die /tmp/hive und geben Sie entsprechende Erlaubnis. Für den Moment, nur um zu testen, hatte ich gegeben:

    [cloudera@quickstart ~]$ sudo chmod 777 /tmp/hive/

  3. Konfigurieren Sie den lokalen Modus:

    [cloudera@quickstart ~]$ export HIVE_OPTS="-hiveconf mapred.job.tracker=local -hiveconf fs.default.name=file:///home/cloudera/hivelocal/tmp -hiveconf hive.metastore.warehouse.dir=file:///home/cloudera/hivelocal/warehouse –hiveconf javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=/home/cloudera/hivelocal/metastore_db;create=true"

  4. Tabelle erstellen:

    hive> Create table doc_one(text string) row format delimited fields terminated by "n" stored as textfile;

  5. Die Tabelle wurde erfolgreich in erstellt /home/cloudera/hivelocal/