Я работаю с Apache Pig в последнее время. Я хотел извлечь несколько столбцов на основе набора данных из визга. Пожалуйста, посмотрите на коды, которые я использовал. Я попытался запустить их как на платформе Hortonworks, так и на моей машине (Ubuntu). Я получаю результаты, соответствующие разным столбцам в качестве вывода. Пожалуйста, укажите, где я делаю ошибку ..Получение неправильных значений от JsonLoader Apache Pig
Запрос:
grunt> business = load 'yelp_academic_dataset_business.json'
using JsonLoader('name:chararray, state:chararray');
grunt> business_name = foreach business generate name, state;
grunt> toPrint = limit business_name 5;
grunt> dump toPrint;
Выход:
(5AJdS8LYpCgzfOwGaEqZkA, 14362 N Frank Lloyd Wright Blvd Ste B104 Scottsdale, AZ 85260) (6UXw7_U13Th0PZlMXZbjMg, Маккаррэна Аэропорт напротив ворот D1 юго-востоке Лас-Вегас, Невада) (80VmGCy6UcYYCKC_BONZTQ 524 N St девяносто второй Scottsdale, AZ 85256) (95p9Xg358BezJyk1wqzzyg, 5114 Farwell St Mc Farland, WI 53558) (EkhrRWzevfFJc8Pm2dVPEA, 140 University Avenue W Waterloo, ON N2L 3W 6)
Пример ввода из файла:
{
"business_id": "vcNAWiLM4dR7D2nwwJ7nCA",
"full_address": "4840 E Indian School Rd\nSte 101\nPhoenix, AZ 85018",
"hours": {
"Tuesday": {"close": "17:00", "open": "08:00"},
"Friday": {"close": "17:00", "open": "08:00"},
"Monday": {"close": "17:00", "open": "08:00"},
"Wednesday": {"close": "17:00", "open": "08:00"},
"Thursday": {"close": "17:00", "open": "08:00"}
},
"open": true,
"categories": ["Doctors", "Health & Medical"],
"city": "Phoenix", "review_count": 7,
"name": "Eric Goldberg, MD",
"neighborhoods": [],
"longitude": -111.98375799999999,
"state": "AZ",
"stars": 3.5,
"latitude": 33.499313000000001,
"attributes": {"By Appointment Only": true},
"type": "business"
}
Edit 2:
Я также скопировал слон птица-2.2.3.jar файл в/Hadoop/бен папку. Внутри этой папки я вызываю «pig -x local» для запуска PIG в локальном режиме. Как только он запустится, я зарегистрирую регистр elphant-bird-2.2.3.jar, а затем продолжу запрос.
После включения слона баночке:
grunt> register elphant-bird-2.2.3.jar;
grunt> business = load 'yelp_academic_dataset_business.json'
using JsonLoader('name:chararray, state:chararray');
grunt> business_name = foreach business generate name, state;
grunt> toPrint = limit business_name 5;
grunt> dump toPrint;
Спасибо, сэр. Моя проблема решена. Не удалось повысить свой ответ, поскольку у меня недостаточно репутации :( – Ram27