При записи данных в Bigquery с помощью коннектора spark bigquery. Я сталкиваюсь с этой проблемой. Если данные считываются из файла, соединитель записывает данные в таблицу больших запросов. Но только когда данные читаются из таблицы Кассандры, она выдает вышеуказанную ошибку.
Я проверяю типы после прочтения файла и после чтения с Кассандры. Оба указывают на тип spark.sql.Dataframe правильно.
19/05/31 10:02:32 INFO com.google.cloud.hadoop.io.bigquery.BigQueryHelper: No import schema provided, auto detecting schema.
19/05/31 10:02:39 ERROR org.apache.spark.internal.io.SparkHadoopWriter: Aborting job job_20190531100218_0006.
java.io.IOException: Error during BigQuery job execution: {"location":"query","message":"Schema has no fields. Table: orders_output_e4c96db3_d224_46ca_aef7_5b3fd0f19162_source","reason":"invalidQuery"}
at com.google.cloud.hadoop.io.bigquery.BigQueryUtils.waitForJobCompletion(BigQueryUtils.java:108)
at com.google.cloud.hadoop.io.bigquery.BigQueryHelper.importFromGcs(BigQueryHelper.java:234)
at com.google.cloud.hadoop.io.bigquery.output.IndirectBigQueryOutputCommitter.commitJob(IndirectBigQueryOutputCommitter.java:73)
at org.apache.spark.internal.io.HadoopMapReduceCommitProtocol.commitJob(HadoopMapReduceCommitProtocol.scala:166)
at org.apache.spark.internal.io.SparkHadoopWriter$.write(SparkHadoopWriter.scala:94)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsNewAPIHadoopDataset$1.apply$mcV$sp(PairRDDFunctions.scala:1083)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsNewAPIHadoopDataset$1.apply(PairRDDFunctions.scala:1081)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsNewAPIHadoopDataset$1.apply(PairRDDFunctions.scala:1081)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
at org.apache.spark.rdd.RDD.withScope(RDD.scala:363)
at org.apache.spark.rdd.PairRDDFunctions.saveAsNewAPIHadoopDataset(PairRDDFunctions.scala:1081)
at com.hm.CassandraBigquery$.main(CassandraBigquery.scala:41)
at com.hm.CassandraBigquery.main(CassandraBigquery.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:894)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:198)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:228)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:137)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Ниже приведен большой запрос конфигурации по ссылке: здесь
BigQueryOutputConfiguration.configureWithAutoSchema(
conf,
outputTableId,
outputGcsPath,
BigQueryFileFormat.NEWLINE_DELIMITED_JSON,
classOf[TextOutputFormat[_,_]])
conf.set("mapreduce.job.outputformat.class",
classOf[IndirectBigQueryOutputFormat[_,_]].getName)
conf.set(BigQueryConfiguration.OUTPUT_TABLE_WRITE_DISPOSITION_KEY,
"WRITE_APPEND")
Пожалуйста, помогите. Заранее спасибо.