Docs 菜单
Docs 主页
/
Spark Connector

FAQ

对于任何 MongoDB 部署,Spark Connector 都会将数据框或数据集的首选位置设置为数据所在的位置。

  • 对于非分片系统,它将首选位置设置为独立运行的实例或副本集的主机名。

  • 对于分片系统,它将首选位置设置为分片的主机名。

为了提升数据局部性,我们建议采取以下操作:

在使用混合版本mongod的 MongoDB 部署中,可能会出现Unrecognized pipeline stage name: '$sample'错误。 为了缓解这种情况,请在使用 DataFrame 时显式配置要使用的分区器并定义模式。

要使用 mTLS,请在运行spark-submit时包含以下选项:

--driver-java-options -Djavax.net.ssl.trustStore=<path to your truststore.jks file> \
--driver-java-options -Djavax.net.ssl.trustStorePassword=<your truststore password> \
--driver-java-options -Djavax.net.ssl.keyStore=<path to your keystore.jks file> \
--driver-java-options -Djavax.net.ssl.keyStorePassword=<your keystore password> \
--conf spark.executor.extraJavaOptions=-Djavax.net.ssl.trustStore=<path to your truststore.jks file> \
--conf spark.executor.extraJavaOptions=-Djavax.net.ssl.trustStorePassword=<your truststore password> \
--conf spark.executor.extraJavaOptions=-Djavax.net.ssl.keyStore=<path to your keystore.jks file> \
--conf spark.executor.extraJavaOptions=-Djavax.net.ssl.keyStorePassword=<your keystore password> \

MongoConnector 包含一个缓存,允许工作线程跨线程共享单个MongoClient 。 要指定保持MongoClient可用的时间长度,请在运行spark-submit时包含mongodb.keep_alive_ms选项:

--driver-java-options -Dmongodb.keep_alive_ms=<number of milliseconds to keep MongoClient available>

默认情况下,该属性的值为5000

注意

由于缓存是在 Spark 配置可用之前设置的,因此您必须使用系统属性来配置缓存。

后退

配置