异常重要log:
Caused by: java.sql.SQLException: org.apache.spark.SparkException: Job aborted due to stage failure: Task 33 in stage 520.0 failed 4 times, most recent failure: Lost task 33.3 in stage 520.0 (TID 196862, node22.tj.leap.com): java.io.IOException: Malformed ORC file hdfs://tjleap/apps/hive/warehouse/d_pc_ace.db/smart_tv_lex_dashboard_pvuv_datahub_temp/import_date=2018-05-06/pvuv_index_part_39.txt. Invalid postscript.
原因:
由于数据量太大,为了缓解大数据平台存储压力,故将表的默认存储格式改为orc
hive.default.fileformat
=Orc;但是
ORC格式是列式存储的表,不能直接从本地文件导入数据,只有当数据源也是ORC格式存储时,才可以直接加载,否则会出现上述报错。
解决办法:
要么将数据源表改为以ORC格式存储的表,要么新建一个以textfile格式的临时表先将源文件数据加载到该表,然后在从textfile表中insert数据到ORC目标表中。