以orc格式创建表时发生配置单元错误

zwghvu4y  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(308)

以orc格式在配置单元中创建表时出错。下面是create table脚本。

CREATE TABLE tgt_ebr_agreements_item_notes STORED AS INPUTFORMAT 
'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' LOCATION 'hdfs://ss-pit-
linx-012.abccorp.abc.com:8020/user/hive/warehouse/abc_sqlserver_test.db/abc_sqlserver
_test_TGT_EBR_AGREEMENTS_ITEM_NOTES' TBLPROPERTIES ( 
'COLUMN_STATS_ACCURATE'='false', 'numFiles'='0', 'numRows'='-1', 'orc.compress'='SNAPPY', 'rawDataSize'='-1', 'totalSize'='0') 
AS SELECT price_schedule_item.legal_entity,
         region.rn_descriptor,
         price_schedule_item.account_manager,
         price_schedule_item.agreement_number,
         company.company_name,
         price_schedule_item.vendor,
         price_schedule_item.line_start_date,
         price_schedule_item.line_end_date,
         price_schedule_item.activity,
         price_schedule_item.tracking_status,
         price_schedule_item.product_line,
         price_schedule_item.grade,
         price_schedule_item.Color_Category,
         price_schedule_item.color,
         price_schedule_item.product_item,
         price_schedule_item_price.Release_Quantity,
         price_schedule_item_price.Projected_Volume,
         price_schedule_item_price.List_Price,
         price_schedule_item_price.Target,
         price_schedule_item_price.Guideline1,
         price_schedule_item_price.invoice_price,
         price_schedule_item_price.Requested_Price,
         price_schedule_item_price.Misc_Impacts,
         price_schedule_item_price.Payment_Terms,
         price_schedule_item_price.Net_Price,
         currency_.currency_code,
         Market.Market_Name,
         Applications.application_name,
         price_schedule_item.Delta_Comp_Name,
         price_schedule_item.Delta_Comp_Product,
         price_schedule_item.Delta_Comp_Grade,
         price_schedule_item.Delta_Comp_Price,
         price_schedule_item.Delta_Comp_Evid_Code,
         price_schedule_item.Comp_Bracket,
         Rn_Appointments.Appt_Date,
         Rn_Appointments.Notes,
         Rn_Appointments.Assigned_to_descriptor
  FROM price_schedule_item_price price_schedule_item_price
  JOIN price_schedule_item price_schedule_item
      ON price_schedule_item_price.price_schedule_item_id=price_schedule_item.price_schedule_item_id
  JOIN agreement agreement
      ON price_schedule_item.agreement_id=agreement.agreement_id
  JOIN company company
      ON agreement.company_id=company.company_id
  JOIN currency_ currency_
      ON price_schedule_item.currency_id=currency_.currency_id
  JOIN territory territory
      ON company.territory_id=territory.territory_id
  JOIN region region
      ON territory.region_id=region.region_id left outer
  JOIN Market Market
      ON Market.Market_Id = price_schedule_item.Market_Segment_Id left outer
  JOIN Application Applications
      ON price_schedule_item.application_ID = Applications.application_ID left outer
  JOIN Rn_Appointments Rn_Appointments
      ON price_schedule_item_price.price_schedule_item_id=Rn_Appointments.price_schedule_item_id 
  where   price_schedule_item.tracking_status ='Active' and    price_schedule_item.activity ='Active Price Schedule'
  ORDER BY  region.rn_descriptor,price_schedule_item.account_manager,price_schedule_item.Agreement_number,price_schedule_item.Product_Line, price_schedule_item.grade,price_schedule_item.color

我得到“失败:执行错误,从org.apache.hadoop.hive.ql.exec.mapredtask返回代码2”
查看日志后,注意到以下错误。
java.lang.classcastexception:org.apache.hadoop.io.text不能强制转换为org.apache.hadoop.hive.ql.io.orc.orcserde$orcserderow
在这方面谁能帮忙?

o75abkj4

o75abkj41#

表定义缺少serde声明,因此配置单元使用文本作为默认值。
使用 STORED AS ORC ,相当于显式指定输入格式、输出格式和serde。

相关问题