Hello Shuangyin

I use  apache-kylin-2.0.0-bin before   .
when I upgrade  apache-kylin-2.0.0-bin to apache-kylin-2.1.0-bin-cdh57   then 
this  problem was Appeared.


so I rollback to   apache-kylin-2.0.0-bin :


1.delete hbase table :
   kylin_metadata
   kylin_metadata_acl
   kylin_metadata_user


2.delete hive database of kylin 


3.delete hdfs workpath of kylin


4.restart kylin of  apache-kylin-2.0.0-bin 


but The problem was still there.  


the Following is create sql of  NSL_FACT_APP_INFO


           CREATE TABLE `BDWH_NSL.NSL_FACT_APP_INFO`(  
       `app_code` varchar(30) COMMENT '申请单编号   ',   
       `proppser_id` varchar(255) COMMENT '申请人标识号   ',   
       `car_id` varchar(10) COMMENT '车辆标识号 ',   
       `dealer_code` int COMMENT '经销商门店编码 ',   
       `dealer_name` varchar(100) COMMENT   '经销商门店名称',   
       `company_code` int COMMENT '经销商单位编码 ',   
       `company_name` varchar(100) COMMENT   '经销商单位名称',   
       `product_code` int COMMENT '所选贷款产品标识号   ',   
       `product_name` varchar(100) COMMENT   '所选贷款产品名称 ',   
       `flow_seq` int COMMENT '审批流程标识号 ',   
       `flow_seq_name` varchar(20) COMMENT   '审批流程名称',   
       `extend_id` varchar(10) COMMENT '延保ID   ',   
       `is_old` char(1) COMMENT '是否二手车 ',   
       `is_lcv` char(1) COMMENT '是否LCV',   
       `is_gps` char(1) COMMENT '是否安装GPS',   
       `status` varchar(3) COMMENT '审批流程阶段',   
       `cancel_type` varchar(20) COMMENT   '取消/拒绝/退回类型',   
       `cancel_reason` varchar(200) COMMENT   '取消/拒绝/退回原因 ',   
       `loan_remarks` varchar(1000) COMMENT   '信贷员审批备注',   
       `remarks` varchar(100) COMMENT '补充说明',   
       `is_pre_interest` char(1) COMMENT   '是否前置总利息',   
       `gps_fee` decimal(10,2) COMMENT 'GPS费用(元)   ',   
       `is_gps_loan` char(1) COMMENT 'GPS费用是否贷款   ',   
       `a_secure_fee` decimal(10,2) COMMENT   '申请保险贷款金额 ',   
       `a_carloan_amount` decimal(10,2) COMMENT   '车贷贷款金额(元) ',   
       `a_loan_amount` decimal(10,2) COMMENT   '申请总贷款金额(元) ',   
       `a_init_payment` decimal(10,2) COMMENT   '申请首付款 ',   
       `a_init_scale` decimal(5,2) COMMENT   '申请首付款比例 ',   
       `a_loan_periods` tinyint COMMENT '申请还款期限(月)   ',   
       `a_account_fee` decimal(10,2) COMMENT   '申请账户管理费 ',   
       `a_com_rate` decimal(5,2) COMMENT '申请融手续费率   ',   
       `a_yanbao_fee` decimal(10,2) COMMENT   '申请第二年保险费 ',   
       `a_com_fee` decimal(10,2) COMMENT '申请平台费   ',   
       `a_yanbao_tc` int COMMENT '延保费套餐 ',   
       `a_yanbao_tc_name` varchar(100) COMMENT   '延保费套餐中文名 ',   
       `disa_rate` decimal(5,2) COMMENT '贴息后利率   ',   
       `discount_e` decimal(10,2) COMMENT '规则贴息金额   ',   
       `a_discount_true_e` decimal(10,2) COMMENT   '申请实际贴息金额 ',   
       `a_loan_rate` decimal(5,2) COMMENT   '申请贷款年利率(%) ',   
       `a_rate_level` varchar(100) COMMENT '申请利率档位   ',   
       `a_gross_interest` decimal(10,2) COMMENT   '申请前置总利息 ',   
       `a_extend_cost` decimal(10,2) COMMENT   '申请延保金额 ',   
       `r_loan_amount` decimal(10,2) COMMENT   '批复总贷款金额(元) ',   
       `r_init_payment` decimal(10,2) COMMENT   '批复首付款 ',   
       `r_init_scale` decimal(5,2) COMMENT   '批复首付款比例 ',   
       `r_loan_periods` tinyint COMMENT '批复还款期限(月)   ',   
       `r_loan_rate` decimal(5,2) COMMENT   '批复贷款年利率(%) ',   
       `pre_loan_rate` decimal(5,2) COMMENT   '批复原始利率 ',   
       `r_rate_level` varchar(100) COMMENT '批复利率档位   ',   
       `r_gps_fee` decimal(10,2) COMMENT '批复GPS费用   ',   
       `r_secure_fee` decimal(10,2) COMMENT   '批复保险贷款金额 ',   
       `r_discount_true_e` decimal(10,2) COMMENT   '批复实际贴息金额 ',   
       `r_account_fee` decimal(10,2) COMMENT   '批复账户管理费 ',   
       `r_carloan_amount` decimal(10,2) COMMENT   '批复车辆贷款金额 ',   
       `r_gross_interest` decimal(10,2) COMMENT   '批复前置总利息 ',   
       `r_extend_cost` decimal(10,2) COMMENT   '批复延保费 ',   
       `r_yanbao_fee` decimal(10,2) COMMENT   '批复第二年保险费 ',   
       `r_com_fee` decimal(10,2) COMMENT '批复平台费   ',   
       `rep_account_bank` varchar(100) COMMENT   '还款借记卡开户行 ',   
       `rep_account_no` varchar(50) COMMENT   '还款借记卡卡号 ',   
       `rep_account_mobile` varchar(50) COMMENT   '还款借记卡留手机号 ',   
       `rep_account_name` varchar(50) COMMENT   '还款借记卡户名 ',   
       `rep_account_idno` varchar(50) COMMENT   '还款卡证件号码 ',   
       `is_check_account` char(1) COMMENT   '还款卡是否已验证 ',   
       `aloan_arrive` varchar(20) COMMENT   '贷后原件收到状态 ',   
       `is_defer_mortgage` char(1) COMMENT   '是否延后抵押',   
       `sysa_date` timestamp COMMENT '系统审批日期   ',   
       `sysa_status` char(1) COMMENT '系统审批状态   ',   
       `sysa_result` char(1) COMMENT '系统审批结果类型   ',   
       `ch_approval_status` char(1) COMMENT   '渠道审批状态',   
       `post_loan_status` char(2) COMMENT   '贷后资料上传状态',   
       `loan_file_status` char(2) COMMENT '放款文件状态   ',   
       `yy_risk_remarks` varchar(1000) COMMENT   '有用风控结果 ',   
       `yy_pre_risk_remarks` varchar(1000) COMMENT   '有用前置秒拒备注 ',   
       `yy_workflow_queue` varchar(30) COMMENT   '有用审批流程',   
       `yy_send_appr` varchar(2) COMMENT   '复审是否发送有用',   
       `is_credit_report` char(1) COMMENT '是否有信贷报告   ',   
       `is_credit` char(1) COMMENT '是否自带征信 ',   
       `is_print_w` char(1) COMMENT '是否打印配偶   ',   
       `is_house` char(1) COMMENT '是否提供房产证明   ',   
       `loan_record` char(2) COMMENT '有无信贷记录   ',   
       `app_score` decimal(5,2) COMMENT '申请评分   ',   
       `notarization_fee` decimal(10,2) COMMENT   '公证费',   
       `is_company_license` char(1) COMMENT   '是否公牌',   
       `is_end_contract` char(1) COMMENT   '电子签约状态',   
       `ht_source` char(1) COMMENT '活体来源',   
       `is_end_ht` char(1) COMMENT   '是否结束活体检验',   
       `assign` char(1) COMMENT '是否指派',   
       `quick_audit_sign` char(1) COMMENT   '普通订单转快审标记',   
       `is_quick_audit` char(1) COMMENT   '是否快速审批订单',   
       `is_vip_contract` char(1) COMMENT   '是否VIP合同',   
       `is_auth_yh` char(1) COMMENT   '是否授权央行征信查询',   
       `batch_pay_flag` varchar(10) COMMENT   '批次放款处理结果',   
       `belong_dealer_id` int COMMENT   '所属车商ID',   
       `belong_dealer` varchar(100) COMMENT   '所属车商',   
       `belong_sale_id` int COMMENT '所属销售ID',   
       `belong_sale` varchar(30) COMMENT   '所属销售',   
       `belong_sale_idno` varchar(30) COMMENT   '所属销售_身份证',   
       `belong_sale_manager_id` int COMMENT   '所属销售主管ID',   
       `belong_sale_manager` varchar(30) COMMENT   '所属销售主管',   
       `belong_sale_manager_idno` varchar(30)   COMMENT '所属销售主管_身份证',   
       `belong_market_id` int COMMENT   '所属市场ID',   
       `belong_market` varchar(100) COMMENT   '所属市场',   
       `belong_operation_id` int COMMENT   '所属运营ID',   
       `belong_operation` varchar(30) COMMENT   '所属运营',   
       `belong_operation_idno` varchar(30) COMMENT   '所属运营_身份证',   
       `belong_sale_tel` varchar(30) COMMENT   '所属销售电话 ',   
       `app_time` timestamp COMMENT '申请提交日期   ',   
       `manage_approval_time` timestamp COMMENT   '信贷经理审批日期 ',   
       `first_app_time` timestamp COMMENT '第一次提交时间   ',   
       `first_loan_time` timestamp COMMENT   '第一次放款时间 仅多次放款申请单有值',   
       `loan_time` timestamp COMMENT '放款日期 ',   
       `is_prepay` char(1) COMMENT '是否垫资',   
       `prepay_date` timestamp COMMENT '垫资回款日期   ',   
       `auth_ch` varchar(100) COMMENT   '客户鉴权渠道',   
       `model_ids` varchar(100) COMMENT '已签合同模板   ',   
       `pled_model_id` varchar(100) COMMENT   '抵押合同模板 ',   
       `date_ch` timestamp COMMENT '渠道时间 ',   
       `payment_ch_zn` varchar(30) COMMENT   '放款渠道中文名 ',   
       `payment_ch_en` varchar(30) COMMENT '渠道英文名   ',   
       `payment_ch` varchar(20) COMMENT '放款渠道   ',   
       `file_number` varchar(20) COMMENT '档案编号   ',   
       `ip_addr` varchar(50) COMMENT 'IP地址 ',   
       `lat` varchar(50) COMMENT '维度 ',   
       `lng` varchar(50) COMMENT '经度 ',   
       `imei` varchar(50) COMMENT '国际移动设备身份码   ',   
       `imsi` varchar(50) COMMENT '国际移动用户识别码   ',   
       `uuid` varchar(50) COMMENT 'iphone的uuid   ',   
       `user_id` int COMMENT '创建用户编码 ',   
       `user_name` varchar(20) COMMENT '创建用户名称   ',   
       `data_idn` char(1) COMMENT '数据标示   C-渠道,D-直销',   
       `source_type` varchar(20) COMMENT '源系统   ',   
       `lst_up_time` timestamp COMMENT '上一次更新日期 ')  
     COMMENT   '车贷申请单信息'     
     PARTITIONED   BY (      
       `data_date` date COMMENT '数据日期 ')  
     ROW FORMAT   SERDE      
         'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'   
     WITH   SERDEPROPERTIES (      
       'field.delim'='\u0007',      
       'serialization.format'='\u0007')      
     STORED AS   INPUTFORMAT      
         'org.apache.hadoop.mapred.TextInputFormat'   
     OUTPUTFORMAT      
         'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'  
     LOCATION        
         'hdfs://nameservice1/user/dmp/prod/v2/NSL/NSL_FACT_APP_INFO'  
     TBLPROPERTIES   (     
       'transient_lastDdlTime'='1507710993')


thanks
  
 
     






 
 
------------------ Original ------------------
From:  "Shuangyin Ge"<[email protected]>;
Date:  Wed, Oct 18, 2017 01:43 PM
To:  "dev"<[email protected]>; 

Subject:  Re: kylin导入hive字段类型变化问题

 
Hello Chenglong,

I tried to reproduce this CHAR type length change after importing from Hive
issue on Kylin 2.1 but I cannot reproduce it. Can you please let me know
your Kylin version and the complete DDL you used to create these tables?

在 2017年10月18日 上午11:34,chenglong.fu <[email protected]>写道:

>
>
> hello everyone:
>
>
>
> 因为之前附件没有转发和图片太大显示不全,我重新发送一封邮件,打扰见谅。
>
> 我在使用kylin的时候遇到了字段类型变化导致的问题,所有想寻求一下大家的帮助。
>
> 问题的描述:
>
> 1.     hive表导入kylin后字段类型发生变化
>
>
>
> hive 中NSL_DIM_PROPPSER_INFO原表类型(截取部分):、
>
> 75
>
> is_scene
>
> char(2)
>
> 客户是否在现场
>
> 76
>
> reference_code
>
> varchar(50)
>
> 推荐人代码
>
> 77
>
> reference_jgcode
>
> varchar(50)
>
> 推荐人机构代码
>
> 78
>
> applicationagreementbarcode
>
> varchar(50)
>
> 领用合约代码
>
> 79
>
> remakes
>
> varchar(1000)
>
> 备注信息
>
> 80
>
> data_idn
>
> char(1)
>
> 数据标示C-渠道,D-直销
>
> 81
>
> source_type
>
> varchar(20)
>
> 源系统
>
> 82
>
> lst_up_time
>
> timestamp
>
> 上一次更新日期
>
> 83
>
> data_date
>
> date
>
> 数据日期
>
>
>
> 导入kylin后显示的类型:Table Schema:NSL_DIM_PROPPSER_INFO
>
>
>
> 62
>
> IS_CERT_ALL
>
> char(256)
>
> 2
>
> 63
>
> IS_SCENE
>
> char(256)
>
> 4
>
> 客户是否在现场
>
> 64
>
> REFERENCE_CODE
>
> varchar(256)
>
> 33
>
> 推荐人代码
>
> 65
>
> REFERENCE_JGCODE
>
> varchar(256)
>
> 16
>
> 推荐人机构代码
>
> 66
>
> APPLICATIONAGREEMENTBARCODE
>
> varchar(256)
>
> 12504
>
> 领用合约代码
>
> 67
>
> REMAKES
>
> varchar(256)
>
> 2
>
> 备注信息
>
> 68
>
> DATA_IDN
>
> char(256)
>
> 2
>
> 数据标示C-渠道,D-直销
>
> 69
>
> SOURCE_TYPE
>
> varchar(256)
>
> 2
>
> 源系统
>
> 70
>
> LST_UP_TIME
>
> timestamp
>
> 1
>
> 上一次更新日期
>
> 71
>
> DATA_DATE
>
> date
>
> 1
>
> 数据日期
>
>
>
>
>
> Hive中NSL_FACT_APP_INFO 类型(部分)
>
>
>
> 124
>
> lat
>
> varchar(50)
>
> 维度
>
> 125
>
> lng
>
> varchar(50)
>
> 经度
>
> 126
>
> imei
>
> varchar(50)
>
> 国际移动设备身份码
>
> 127
>
> imsi
>
> varchar(50)
>
> 国际移动用户识别码
>
> 128
>
> uuid
>
> varchar(50)
>
> iphone的uuid
>
> 129
>
> user_id
>
> int
>
> 创建用户编码
>
> 130
>
> user_name
>
> varchar(20)
>
> 创建用户名称
>
> 131
>
> data_idn
>
> char(1)
>
> 数据标示 C-渠道,D-直销
>
> 132
>
> source_type
>
> varchar(20)
>
> 源系统
>
> 133
>
> lst_up_time
>
> timestamp
>
> 上一次更新日期
>
> 134
>
> data_date
>
> date
>
> 数据日期
>
>
>
>
>
> Kylin中 Table Schema:NSL_FACT_APP_INFO
>
>
>
> 124
>
> LAT
>
> varchar(256)
>
> 69144
>
> 维度
>
> 125
>
> LNG
>
> varchar(256)
>
> 76679
>
> 经度
>
> 126
>
> IMEI
>
> varchar(256)
>
> 3918
>
> 国际移动设备身份码
>
> 127
>
> IMSI
>
> varchar(256)
>
> 2
>
> 国际移动用户识别码
>
> 128
>
> UUID
>
> varchar(256)
>
> 2
>
> iphone的uuid
>
> 129
>
> USER_ID
>
> integer
>
> 1473
>
> 创建用户编码
>
> 130
>
> USER_NAME
>
> varchar(256)
>
> 1667
>
> 创建用户名称
>
> 131
>
> DATA_IDN
>
> char(256)
>
> 2
>
> 数据标示 C-渠道,D-直销
>
> 132
>
> SOURCE_TYPE
>
> varchar(256)
>
> 3
>
> 源系统
>
> 133
>
> LST_UP_TIME
>
> timestamp
>
> 1
>
> 上一次更新日期
>
> 134
>
> DATA_DATE
>
> date
>
> 1
>
> 数据日期
>
>
>
> 2.     因为字段发生变化导致 Create Intermediate Flat Hive Table 失败
>
> 上面的2张表在model中关联关系
>
> NSL_FACT_APP_INFO.DATA_IDN = NSL_DIM_PROPPSER_INFO.DATA_IDN
>
> NSL_FACT_APP_INFO.PROPPSER_ID = NSL_DIM_PROPPSER_INFO.PROPPSER_ID
>
>
>
> 构建cube的时候,在Create Intermediate Flat Hive Table 时候报
>
>
>
> INFO  : OK
>
> No rows affected (0.137 seconds)
>
> 0: jdbc:hive2://10.8.49.171:10000> CREATE EXTERNAL TABLE IF NOT EXISTS 
> kylin_intermediate_nsl_cube_cd1448f2_0b32_48bc_a4fb_3be505b5c135
>
> . . . . . . . . . . . . . . . . .> (
>
> . . . . . . . . . . . . . . . . .> NSL_FACT_APP_INFO_DATA_IDN char(256)
>
> . . . . . . . . . . . . . . . . .> ,NSL_FACT_APP_INFO_PROPPSER_ID string
>
> . . . . . . . . . . . . . . . . .> ,NSL_FACT_APP_INFO_A_SECURE_FEE 
> decimal(19,4)
>
> . . . . . . . . . . . . . . . . .> ,NSL_FACT_APP_INFO_A_INIT_PAYMENT 
> decimal(19,
>
> 4)
>
> . . . . . . . . . . . . . . . . .> )
>
> . . . . . . . . . . . . . . . . .> STORED AS SEQUENCEFILE
>
> . . . . . . . . . . . . . . . . .> LOCATION 
> 'hdfs:///user/dmp/kylin/kylin_metada
>
> ta/kylin-c5e7ed64-d408-4804-b4a0-2efb1192b099/kylin_intermediate_nsl_cube_cd1448
>
> f2_0b32_48bc_a4fb_3be505b5c135';
>
> Error: Error while compiling statement: FAILED: RuntimeException Char length 
> 256 out of allowed range [1, 255] (state=42000,code=40000)
>
>
>
> Hive 表中的DATA_IDN是char(1)  导入kylin 显示char(256)  报错 Char length 256 out of
> allowed range [1, 255]
>
>
>
>
>
>
>
>
>
> 3.     选择度量的时候因为字段类型导致 mapreduce 构建cubid 任务失败
>
> 在创建Measure的时候 Return Type的时候是自动根据前面kylin中表的字段类型自动生成的,又不能修改,所以在后面跑mapreduce
> 的时候当这个 度量列聚合量很大的时候就超出这个字段类型长度。任务就会失败。
>
>
>
> 谢谢
>
>
>

Reply via email to