scintilla scocca, per evitare di avere la directory metastore_db
ed evitare di farlo nel codice (poiché il contesto/sessione è già stato creato e hai vinto' t fermarli e ricrearli ogni volta con la nuova configurazione), devi impostare la sua posizione nel file hive-site.xml
e copiare questo file nella directory spark conf.
Un campione hive-site.xml
file per rendere la posizione del metastore_db
a /tmp
(fare riferimento alla mia risposta here):
<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>
Dopo di che si potrebbe iniziare la spark-shell
come la seguente per sbarazzarsi di derby.log
così
$ spark-shell --conf "spark.driver.extraJavaOptions=-Dderby.stream.error.file=/tmp"
Hai digitato 'derby.stream.info.file' nel testo della tua domanda. La domanda a cui ti sei collegato, http://stackoverflow.com/questions/1004327/getting-rid-of-derby-log dice di configurare 'derby.stream.error.file'. Quale hai effettivamente provato? –