У меня есть брокер контекста Orion, связанный с Cosmos с помощью cygnus.
Это работает нормально, я имею в виду, что я отправляю новые элементы в Context Broker, а cygnus отправляет их в Cosmos и сохраняет в файлах.
У меня проблема, когда я пытаюсь выполнить поиск.
Я запускаю hive и вижу, что есть несколько таблиц, связанных с файлами, созданными Cosmos, поэтому я запускаю некоторые запросы.
Простой работает нормально:
select * from Table_name;
Hive не запускает никаких заданий mapReduce.
но когда я хочу отфильтровать, присоединиться, подсчитать или получить только некоторые поля. Вот что происходит:
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapred.reduce.tasks=<number>
Starting Job = JOB_NAME, Tracking URL = JOB_DETAILS_URL
Kill Command = /usr/lib/hadoop-0.20/bin/hadoop job -kill JOB_NAME
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2015-07-08 14:35:12,723 Stage-1 map = 0%, reduce = 0%
2015-07-08 14:35:38,943 Stage-1 map = 100%, reduce = 100%
Ended Job = JOB_NAME with errors
Error during job, obtaining debugging information...
Examining task ID: TASK_NAME (and more) from job JOB_NAME
Task with the most failures(4):
-----
Task ID:
task_201409031055_6337_m_000000
URL: TASK_DETAIL_URL
-----
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
MapReduce Jobs Launched:
Job 0: Map: 1 Reduce: 1 HDFS Read: 0 HDFS Write: 0 FAIL
Я обнаружил, что файлы, созданные Cygnus, отличаются от других файлов, потому что в случае Cygnus их нужно десериализовать с помощью jar.
Итак, у меня есть сомнения, нужно ли в этих случаях применять какой-либо метод MapReduce или уже есть какой-либо общий метод для этого.