Я хочу использовать PIG, присоединяю 3 таблицы и загружаю их в таблицу Hive. перед хранением данных я могу показать данные на экране с помощью дампа. Я использую команду ниже для хранения данных, это не удалось.Проблема для загрузки таблицы Hive с использованием PIG
store jnr_mas_ins INTO 'table_name' USING org.apache.hive.hcatalog.pig.HCatStorer();
ошибка:
2017-01-25 10:58:48,487 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1002: Unable to store alias jnr_mas_ins
Details at logfile: /export/home/pig_1485359450881.log
Я искал этот сайт, кто-то предложил использовать следующую команду:
store jnr_mas_ins INTO 'hdfs://fullpath' USING org.apache.hive.hcatalog.pig.HCatStorer();
001 : Error setting output information. Cause : NoSuchObjectException(message:default.hdfs://fullpath table not found)
Details at logfile: /export/home/pig_1485359450881.log
бы вы помочь решить эту проблему, заранее спасибо ниже - сценарий, который я использовал для заполнения таблицы.
account_master_ALL = НАГРУЗИТЬ 'ACCT' ИСПОЛЬЗОВАНИЕ org.apache.hive.hcatalog.pig.HCatLoader(); account_master_fil = фильтр account_master_ALL by croft_source_sys_cd == '' ABC ''; account_master = foreach account_master_fil генерировать acct_master_key, (trans_date имеет значение null? '-999': trans_date) как trans_date, (acct_data_1 имеет значение null? '-999': acct_data_1) как acct_data_1 (acct_data_2 имеет значение null? '-999': acct_data_2) как acct_data_2, (acct_data_3 имеет значение null? '-999': acct_data_3) как acct_data_3, (acct_data_4 имеет значение null? '-999': acct_data_4) как acct_data_4, (acct_data_5 имеет значение null? '-999': acct_data_5) как acct_data_5, acct_m_ref_key, croft_source_sys_cd; acct_detail_all = LOAD 'acct_detail_tb' ИСПОЛЬЗОВАНИЕ org.apache.hive.hcatalog.pig.HCatLoader(); acct_detail = foreach acct_detail_all generate c_number, b_number, a_number, c_coded, a_type, c_digit, s_number, r_type, r_cd, s_qty, s_b_cost, trade_qty, t_cost, p_date, load_date; jnr_all = присоединить acct_detail (a_number, b_number, c_coded, a_type, c_number, c_digit), account_master by (acct_data_1, trans_date, acct_data_2, acct_data_3, acct_data_4, acct_data_5); ins_master_all = LOAD 'ins_acct' ИСПОЛЬЗОВАНИЕ org.apache.hive.hcatalog.pig.HCatLoader(); jnr_mas_ins_all = join jnr_all by (acct_detail :: s_number), ins_master_all by (acct_data_1); jnr_mas_ins = Еогеасп jnr_mas_ins_all генерируют acct_master_key, как acct_master_key, ins_master_key как ins_master_key, 'ABC', как code_dev, c_number как c_number, b_number как b_number, a_number как src_a_number, c_coded, как c_coded, a_type как a_type, c_digit как c_digit, s_number как s_number, r_type как r_type, r_cd как r_cd, s_qty как s_qty, s_b_cost как s_b_cost, trade_qty как trade_qty, t_cost как t_cost, p_date как p_date, CurrentTime() как load_date, 'PIG_USER' как create_userid, CurrentTime() как create_date, CurrentTime() как f_date; магазин jnr_mas_ins INTO 'tartet_table' ИСПОЛЬЗОВАНИЕ org.apache.hive.hcatalog.pig.HCatStorer();
Сообщение весь ваш PIG сценарий –
благодаря inquisitive_mind, я просто обновил первый поток, добавив мой сценарий на него. взгляни, пожалуйста. Благодарю. –