Позиция для 'params.expo_cnt' не найдена в строке; как правило, это вызвано несоответствием сопоставления - PullRequest
0 голосов
/ 07 марта 2020

Hadoop / Spark: 2.3.1 ES-Had oop: 7.0 ES: 7.0

spark = SparkSession
.builder()
.config("es.nodes", Configuration.es_video_nodes)
.config("es_port", Configuration.es_port)
.enableHiveSupport()
.getOrCreate()
val df = EsSparkSQL.esDF(spark, Configuration.index)
df.show(10)

Я получил следующую ошибку:

org.elasticsearch.had oop .rest.EsHadoopParsingException: org.elasticsearch.had oop .EsHadoopIllegalStateException: Позиция для 'params.expo_cnt' не найдена в строке; обычно это вызвано несоответствием сопоставления в org.elasticsearch.had oop .serialization.ScrollReader.readHit (ScrollReader. java: 514) в org.elasticsearch.had oop .serialization.ScrollReader.read (ScrollReader. java: 292) в org.elasticsearch.had oop .serialization.ScrollReader.read (ScrollReader. java: 262) в org.elasticsearch.had oop .rest.RestRepository.scroll (RestRepository. java: 313) at org.elasticsearch.had oop .rest.ScrollQuery.hasNext (ScrollQuery. java: 93)

Описание при чтении данных из es я получил вышеуказанную ошибку. файл сопоставления:

"mappings": {
"all": {
"properties": {
"ftime": {
"type": "long"
},
"metadata": {
"properties": {
"fduration": {
"type": "long"
}
}
},
"gvid": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"params": {
"properties": {
"share_cnt": {
"type": "long"
},
"valid_play_cnt": {
"type": "long"
},
"expo_cnt": {
"type": "long"
},
"strict_full_play_cnt": {
"type": "long"
},
"follow_cnt": {
"type": "long"
},
"notlike_cnt": {
"type": "long"
},
"full_play_cnt": {
"type": "long"
},
"loose_full_play_cnt": {
"type": "long"
},
"like_cnt": {
"type": "long"
},
"play_cnt": {
"type": "long"
},
"playtime_sum": {
"type": "long"
}
}
}
}
}
}

Есть решение?

...