0
我正在使用pig-hadoop從我的Elasticsearch服務器讀取文檔。這些文件看起來像這樣使用Pig-Hadoop在Elasticsearch中獲取文檔的字段
{
"_index": "sa-test",
"_type": "logs",
"_id": "AUujDbzSR5FzDDhtC1LH",
"_score": 1,
"_source": {
"fieldA": "....",
"fieldB": "....",
"fieldC": ".....",
"fieldE": "....."
}
}, {
"_index": "sa-test",
"_type": "logs",
"_id": "AUujDbzSR5FzXXXtC1LH",
"_score": 1,
"_source": {
"fieldB": "....",
"fieldC": ".....",
"fieldD": "....."
}
}
這很好。當我試圖通過豬
中讀取該數據-- load the data in
raw_logs = LOAD 'sa-test' USING org.elasticsearch.hadoop.pig.EsStorage('es.query=?q=someFilter', 'es.mapping.date.rich=false');
-- for now just dump it
DUMP raw_logs;
這會產生數據的形式
(fieldA,fieldB,fieldC,fieldE)
(fieldB,fieldC,fieldD)
現在在這一點上出現的問題,我沒有哪個領域失蹤的任何想法或哪些是因爲每行中的數據不一致而存在的。這對於進一步的處理來說是個問題。
有沒有什麼辦法可以將字段值與行或某種映射關聯起來,這些映射可以告訴我哪個值屬於哪個字段。這種東西
(A=fieldA,B=fieldB,C=fieldC,E=fieldE)
(A=fieldB,C=fieldC,D=fieldD)