我在Zeppelin上运行MongoDB和Spark,它们共享相同的HDFS。 MongoDB会生成一个存储在同一HDFS中的.wt数据库。
我想将该MongoDB产生的数据库集合从HDFS加载到Spark DataFrame中。
是否可以将数据库作为数据帧直接从HDFS加载到spark?还是我需要使用MongoDB Spark连接器?
答案 0 :(得分:0)
我不建议读取或修改内部WiredTiger Storage Engine's *.wt
文件。首先,这些内部文件如有更改,恕不另行通知(不是面向公众的API),对这些文件的任何意外修改也可能导致数据库处于无效/损坏状态。
您可以利用MongoDB Spark Connector将数据从MongoDB加载到Spark。该连接器是为在MongoDB和Apache Spark之间读取/写入数据而设计,开发和优化的。例如,通过经由数据库访问数据,客户端可以利用database indexes来优化读取操作。
另请参阅: