Car*_*cas 18 derby apache-spark
运行spark-shell时会创建一个文件derby.log和一个文件夹metastore_db.如何配置spark以将这些放在其他地方?
对于derby日志,我尝试过去掉derby.log就像这样spark-shell --driver-memory 10g --conf "-spark.driver.extraJavaOptions=Dderby.stream.info.file=/dev/null"有几个不同的属性,但火花忽略了它们.
有谁知道如何摆脱这些或为他们指定默认目录?
hir*_*ryu 13
使用的hive.metastore.warehouse.dir,因为星火2.0.0已被弃用,
请参阅该文档.
正如这个答案暗示的那样,metastore_db目录和derby.log在每个工作子目录中创建的文件的真正罪魁祸首是derby.system.home属性默认为..
因此,可以通过将以下行添加到以下内容来指定两者的默认位置spark-defaults.conf:
spark.driver.extraJavaOptions -Dderby.system.home=/tmp/derby
Run Code Online (Sandbox Code Playgroud)
哪里/tmp/derby可以替换为您选择的目录.
use*_*742 12
对于spark-shell,要避免使用metastore_db目录并避免在代码中执行(因为上下文/会话已经创建,并且您不会停止它们并且每次都使用新配置重新创建它们),您必须设置其位置在hive-site.xml 文件中并将此文件复制到spark conf目录中.
样本hive-site.xml文件进行的位置metastore_db中/tmp (参见我的答案在这里):
<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>
Run Code Online (Sandbox Code Playgroud)
在那之后你可以开始你spark-shell的下面以摆脱 derby.log它
$ spark-shell --conf "spark.driver.extraJavaOptions=-Dderby.stream.error.file=/tmp"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13087 次 |
| 最近记录: |