使用PIG装载Hive工作台的问题



我想使用PIG连接3个表,然后加载到Hive表中。在存储数据之前,我可以使用dump在屏幕中显示数据。我使用下面的命令来存储数据,它失败了。

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=使用org.apache.hive.hcatalog.pig.HCatLoader()加载"ACCT";account_master_fil=按croft_source_sys_cd筛选account_master_ALL=="'ABC'";account_master=foreach account_master_fil生成acct_master_key,(trans_date为null?'-999':trans_date,(acct_data_5为空?'-999':acct_data_3)作为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生成c_number、b_number、a_nnumber、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依据(acct_data_1,trans_date,acct_data_2,acct_data_3,acct_data _4,acct_数据_5);ins_master_all=使用org.apache.hive.hcatalog.pig.HCatLoader()加载'ins_acct';jnr_mas_ins_all=按(acct_detail::s_number)加入jnr_all,按(acct_data_1)加入ins_master_all;jnr_mas_ins=foreach jnr_mas_ins_all生成acct_master_key为acct_masster_key,ins_master_key为ins_master_6key,'ABC'为code_dev,c_number为c_number,b_number为b_number,a_name为src_a_nanumber,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_coste,trade_qty为trade_qty,t_cost为t_cost,p_date为p_date,CurrentTime()为load_date,'PIG_USER'为create_userid,CurrentTime;使用org.apache.hive.hcatalog.pig.HCatStorer()将jnr_mas_ins存储为'startet_table';

看起来您缺少关系jnr_mas_ins_all。这是从哪里来的?CCD_ 2将是emtpy,因为不存在关系CCD_。应该是ins_master_all

ins_master_all = LOAD 'ins_acct' USING org.apache.hive.hcatalog.pig.HCatLoader();
jnr_mas_ins = foreach jnr_mas_ins_all generate acct_master_key as acct_master_key, ins_master_key as ins_master_key, 'ABC' as code_dev, c_number as c_number, b_number as b_number, a_number as src_a_number, c_coded as c_coded, a_type as a_type, c_digit as c_digit, s_number as s_number, r_type as r_type, r_cd as r_cd, s_qty as s_qty, s_b_cost as s_b_cost, trade_qty as trade_qty, t_cost as t_cost, p_date as p_date, CurrentTime() as load_date, 'PIG_USER' as create_userid, CurrentTime() as create_date, CurrentTime() as f_date;

最新更新