java.lang.RuntimeException: Невозможно определить типы схемы из пустого результата, используйте loadDataFrame (схема: (String, String) *) - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь создать набор данных с использованием коннектора spark neo4j

Ex: Dataset< Row > myDF= Neo4j.apply(sparkSession.sparkContext()).cypher(myquery, parameters).loadDataFrame(); 
myDF.createOrReplaceTempView("Mytable");

Это прекрасно работает, когда у нас есть результаты запроса из Neo4j.

Здесь запрос neo4j может вернуть 0 записей, и в этом случае я получаю ошибку, как показано ниже:

ERROR ApplicationMaster: User class threw exception: java.lang.RuntimeException: Cannot infer schema-types from empty result, please use loadDataFrame(schema: (String,String)*)
java.lang.RuntimeException: Cannot infer schema-types from empty result, please use loadDataFrame(schema: (String,String)*)
at org.neo4j.spark.Neo4j.loadDataFrame(Neo4j.scala:346) 

Я бы хотел обработать сценарий без результата.
Как я могу это сделать?

1 Ответ

0 голосов
/ 23 августа 2019

Если у вас или у кого-то еще возникла эта проблема, вот как я ее решил

var df = Neo4j.apply(sparkSession.sparkContext()).cypher("Match (n)-[r]-(m) return n.name as src, m.name as dst").loadDataFrame(schema = ("src","String"),("dst","String"))
...