2017-06-19 89 views
1

我这样的代码:星火SQL读取JSON文件从HDFS失败

val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc) 
import sqlContext.implicits._ 
val customers = sqlContext.read.json("jsonfilepath") 

在火花外壳出现的错误,我不明白这一点:?

17/06/19 09:59:04 ERROR bonecp.PoolWatchThread: Error in trying to obtain a connection. Retrying in 7000ms 
java.sql.SQLException: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection. 
     at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) 
     at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) 
     at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) 
     at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) 
     at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) 
     at org.apache.derby.impl.jdbc.EmbedConnection.setReadOnly(Unknown Source) 
     at com.jolbox.bonecp.ConnectionHandle.setReadOnly(ConnectionHandle.java:1324) 
     at com.jolbox.bonecp.ConnectionHandle.<init>(ConnectionHandle.java:262) 
     at com.jolbox.bonecp.PoolWatchThread.fillConnections(PoolWatchThread.java:115) 
     at com.jolbox.bonecp.PoolWatchThread.run(PoolWatchThread.java:82) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: ERROR 25505: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection. 
     at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) 
     at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) 
     at org.apache.derby.impl.sql.conn.GenericAuthorizer.setReadOnlyConnection(Unknown Source) 
     at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.setReadOnly(Unknown Source) 
     ... 8 more 

我该如何解决呢谢谢

+0

错误信息清楚地说,你需要改变你的数据库 –

回答

0

为什么使用HiveContext来读取json数据?请使用SOLContext代替。

val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
import sqlContext.implicits._ 
val customers = sqlContext.read.json("jsonfilepath") 
+0

的权限,我想保存数据蜂巢使用HiveContext,SQLContext对我的作品 – shaojie