Jdbc SPARK SQL(1.5.1)连接到Oracle并写入Avro

Jdbc SPARK SQL(1.5.1)连接到Oracle并写入Avro,jdbc,avro,spark-dataframe,Jdbc,Avro,Spark Dataframe,我正在使用spark sql连接到oracle数据库,并以数据帧的形式获取数据。我想将检索到的数据写入avro文件。在给avro写信的过程中,我发现了很多问题,你能帮助我们吗 这是密码- val df = sqlContext.read.format("jdbc") .options(Map( "driver"->"oracle.jdbc.driver.OracleDriver", "url" -> "jdbc:oracle:thin:user/password@h

我正在使用spark sql连接到oracle数据库,并以数据帧的形式获取数据。我想将检索到的数据写入avro文件。在给avro写信的过程中,我发现了很多问题,你能帮助我们吗

这是密码-

val df = sqlContext.read.format("jdbc")
    .options(Map( "driver"->"oracle.jdbc.driver.OracleDriver", 
    "url" -> "jdbc:oracle:thin:user/password@host/service"
    , "numPartitions" -> "1", "dbtable"-> "
    (Select * from schema.table WHERE STAGE_NUM <=39 and 
    guid='I284ba1f9cdba11dea82ab9f4ee295c21')"))
    .load()
df.write.format("com.databricks.spark.avro").save("Outputfile")
我的项目中存在的依赖项-

org.apache.spark spark-sql_2.10 1.5.1 com.databricks spark-avro_2.10 2.0.1 org.apache.avro avro 1.7.7 org.apache.avro avro mapred 1.7.7

这是异常信息-

java.lang.RuntimeException:com.databricks.spark.avro.DefaultSource不允许按选择方式创建表

如果我使用-df.write.avroheadnotes,我会得到以下异常

java.lang.IllegalAccessError:试图从com.databricks.spark.avro.SchemaConverters$$anonfun$convertStructToAvro$1类访问org.apache.avro.SchemaBuilder$FieldDefault类


你解决了吗?你解决了吗?