我正在尝试从Elasticsearch读取数据,但我想要阅读的文档包含一个嵌套数组(我想阅读)。
我添加了选项" es.read.field.as.array.include"通过以下方式:
val dataframe = reader
.option("es.read.field.as.array.include","arrayField")
.option("es.query", "someQuery")
.load("Index/Document")
但得到了错误
java.lang.ClassCastException: scala.collection.convert.Wrappers$JListWrapper cannot be cast to java.lang.Float
我应该如何映射我的数组来阅读它?
来自ES的数据样本:
{
"_index": "Index",
"_type": "Document",
"_id": "ID",
"_score": 1,
"_source": {
"currentTime": 1516211640000,
"someField": someValue,
"arrayField": [
{
"id": "000",
"field1": 14,
"field2": 20.23871387052084,
"innerArray": [[ 55.2754,25.1909],[ 55.2754,25.190929],[ 55.27,25.190]]
}, ...
],
"meanError": 0.3082,
}
}
答案 0 :(得分:2)
您的样本数据内部数组必须为2个数组列
您可以尝试此示例
for