小编Rde*_*ond的帖子

尝试删除数据库文件时发生 EBUSY 错误

我正在尝试使用 before/after Mocha 挂钩创建然后删除 SQLite 数据库。使用Node.js SQLite 库,我在调用 时收到“错误:EBUSY:资源繁忙或锁定...” fs.unlinkSync(DB_PATH)

之后我可以删除该文件,因此与 Node.js SQLite 库不释放文件描述符有关。如何在同一个程序中创建然后关闭数据库连接并删除数据库文件,或者在删除文件之前程序必须退出吗?代码(Windows 10,Node.js v6.10.0):

var sqlite3 = require('sqlite3');

var fs = require('fs');
var childProc = require('child_process');

before(function() {
    childProc.execSync("sqlite3 ./test_db_data/test_db.sqlite3 < ./load_data/sql/init_model.sql").toString()
});

after(function() {
    fs.unlinkSync(DB_PATH);
});

describe('tests', function() {
    var db;
    before(function(done) {

        // set up database
        new Promise(function(resolve, reject) {
            console.log("Running promise");

            db = new sqlite3.Database(DB_PATH, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, function(err) {
                if (err) {
                    throw new Error("Couldn't create test database.");
                }
                resolve();
            }); …
Run Code Online (Sandbox Code Playgroud)

sqlite node.js

5
推荐指数
1
解决办法
1177
查看次数

OutofMemoryErrory用sbt组装创建胖罐

我们正在尝试制作一个包含一个小scala源文件和大量依赖项的胖jar文件(使用spark和cassandra的简单mapreduce示例):

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import com.datastax.spark.connector._
import org.apache.spark.SparkConf

object VMProcessProject {

    def main(args: Array[String]) {
        val conf = new SparkConf()
            .set("spark.cassandra.connection.host", "127.0.0.1")
             .set("spark.executor.extraClassPath", "C:\\Users\\SNCUser\\dataquest\\ScalaProjects\\lib\\spark-cassandra-connector-assembly-1.3.0-M2-SNAPSHOT.jar")
        println("got config")
        val sc = new SparkContext("spark://US-L15-0027:7077", "test", conf)
        println("Got spark context")

        val rdd = sc.cassandraTable("test_ks", "test_col")

        println("Got RDDs")

        println(rdd.count())

        val newRDD = rdd.map(x => 1)
        val count1 = newRDD.reduce((x, y) => x + y)

    }
}
Run Code Online (Sandbox Code Playgroud)

我们没有build.sbt文件,而是将jar放入src/main/scala目录中的lib文件夹和源文件,并使用sbt run运行.我们的assembly.sbt文件如下所示:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0")
Run Code Online (Sandbox Code Playgroud)

当我们运行sbt程序集时,我们收到以下错误消息:

...
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: java heap space
    at java.util.concurrent...
Run Code Online (Sandbox Code Playgroud)

我们不确定如何更改jvm设置以增加内存,因为我们使用sbt程序集来制作jar.此外,如果我们编写代码或构建我们的项目时出现了一些极其错误的问题,这些项目也会帮助我们.尝试建立一个基本的火花程序有很多令人头疼的问题!

jar cassandra sbt apache-spark

4
推荐指数
2
解决办法
2997
查看次数

标签 统计

apache-spark ×1

cassandra ×1

jar ×1

node.js ×1

sbt ×1

sqlite ×1