1,当hive的sql语句select有数据,但count显示为0
答:这个主要是元数据里没有统计,所以取不出来统计后的条数,解决方法有两种:
①set hive.compute.query.using.stats=false; 这个配置一般在hive-site.xml有配置,不从元数据里取值,重新计算,效率低
②analyze table 表名 compute statistics; 这个是元数据重新生成统计信息,从元数据里取出来,效率高
如果是分区表:ANALYZE TABLE $table_name partition(p=$1) COMPUTE STATISTICS;
2,substr的用法
substr(string_A,int a,len b)其实跟substring(string_A,int a,len b)用法一样
string_A:要截取的字段名
a:开始的位置
b:截取的长度
例如: set_name='01Z561'
substr(set_name,2,1)=='Z',从第二位开始,长度为1