2017-07-18 120 views
1

我訪問MySQL數據庫並獲取表。 一切工作正常,直到那。ChangeFileModeByMask錯誤(5):訪問被拒絕

當我試圖保存在文本或其他格式的記錄,我得到的錯誤 退出代碼退出異常代碼= 1:「更改文件模式通過面膜錯誤」(5):訪問被拒絕。

任何幫助將不勝感激。

object jdbcConnect { 
def main(args: Array[String]) { 

    val url="jdbc:mysql://127.0.0.1:3306/mydb" 
    val username = "root" 
    val password = "token_password" 
    Class.forName("com.mysql.jdbc.Driver").newInstance 


    //DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 

    val conf = new SparkConf().setAppName("JDB CRDD").setMaster("local[2]").set("spark.executor.memory", "1g") 

    val sc = new SparkContext(conf) 
    val myRDD = new JdbcRDD(sc,() => 
    DriverManager.getConnection(url,username,password) , 
    "select s_Id,issue_date from store_details limit ?, ?", 
    0, 10, 1, r => r.getString("s_Id") + ", " + r.getString("issue_date")) 

    myRDD.foreach(println) 
    myRDD.saveAsTextFile("C:/jdbcrddexamplee") 

    } 
} 

錯誤

17/07/18 11時十分19秒ERROR執行人:異常在任務0.0在階段2.0 (TID 2)ExitCodeException EXITCODE = 1:ChangeFileModeByMask誤差(5): 訪問被拒絕。

在org.apache.hadoop.util.Shell.runCommand(Shell.java:582)在 org.apache.hadoop.util.Shell.run(Shell.java:479)在 org.apache.hadoop .util.Shell $ ShellCommandExecutor.execute(Shell.java:773) at org.apache.hadoop.util.Shell.execCommand(Shell.java:866)at org.apache.hadoop.util.Shell.execCommand(Shell的.java:849)在 org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:733) 在 org.apache.hadoop.fs.RawLocalFileSystem $ LocalFSFileOutputStream(RawLocalFileSystem.java:225) 在 。 org.apache.hadoop.fs.RawLocalFileSystem $ LocalFSFileOutputStream。(RawLocalFileSystem.java:209 ) 在 org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:307) 在 org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:296) 在 org.apache。 hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:328)

+0

您是否嘗試過在其他不同位置寫入數據? –

+0

是的......我已經嘗試過,但沒有運氣 –

回答

0

它似乎是一個權限錯誤。我的愚蠢......

請確保以管理員身份運行任何內容。雖然我會建議使用數據幀代替RDD:D