FAQ-hive表字段comment处理特殊符号

问题描述

以如下表展示为例
执行
ALTER TABLE
  music_dimension.dim_itm_ugc_comment_base_dd
  CHANGE COLUMN resource_id resource_id STRING COMMENT 
  '评论资源id(如当resource_type='4'时,resource_id表示歌曲id)';

抛错:
ParseException: line 2:124 missing EOF at '4' near 
''评论资源id(如当resource_type=''

异常栈 FAQ-hive表字段comment处理特殊符号 - 图1

异常堆栈:
ParseException: line 2:124 missing EOF at '4' near 
''评论资源id(如当resource_type=''

解决方案

将特殊符号单引号转义一下,或者双引号处理
ALTER TABLE
  music_dimension.dim_itm_ugc_comment_base_dd 
  CHANGE COLUMN resource_id resource_id STRING COMMENT 
  '评论资源id(如当resource_type=\'4\'时,resource_id表示歌曲id)';

问题原因

hive表字段comment不支持直接编译特殊符号,需要转义或者加双引号编译一下

作者:陈杰