Für Funken Schale, um zu verhindern das metastore_db
Verzeichnis mit und vermeiden Sie es im Code zu tun (da der Kontext/Sitzung bereits erstellt und Sie gewonnen‘ t stoppen Sie sie und erstellen Sie sie jedes Mal mit der neuen Konfiguration neu. Sie müssen den Speicherort in der Datei hive-site.xml
festlegen und diese Datei in das Verzeichnis config conf kopieren.
Eine Probe hive-site.xml
Datei, um die Lage von metastore_db
in /tmp
(siehe meine Antwort here) zu machen:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/tmp/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/tmp/</value>
<description>location of default database for the warehouse</description>
</property>
</configuration>
Danach können Sie Ihre spark-shell
wie folgt beginnen könnte von derby.log
auch
$ spark-shell --conf "spark.driver.extraJavaOptions=-Dderby.stream.error.file=/tmp"
loszuwerden
Sie haben "derby.stream.info.file" in den Text Ihrer Frage eingegeben. Die Frage, die Sie verlinkt haben, http://stackoverflow.com/questions/1004327/getting-rid-of-derby-log sagt, 'derby.stream.error.file' zu konfigurieren. Welche hast du eigentlich versucht? –