您的位置:首页 > 其它

AWK使用实例

2012-11-08 14:44 281 查看
有这么些记录,大概2000W条:

1909290281,aa,aa,,&aa.,aa,1909290281,11,13,8,,,tp2.sinaimg.cn/1909290281/50/0/1,0,,"2632861870,1728104535,1894638220,1774978073,1839047245,2033895032,1769871333,1909308537,1909363617"

由于导入hive后是根据逗号进行字段分割的,而双引号内的数据不应该给分割,因此需要对双引号内的逗号进行替换。

使用AWK脚本为:

BEGIN{
  print "start weibo analyse!"
  FS="\""
}
{
  result=""
  for(i=1;i<NF;i++){
    if( i%2 == 0 ){
      gsub(",",";",$i)
      result=result"\""$i"\""
    }else{
      result=result$i
    }

  }
  print result
}
EDN{
  print "end weibo analyse!"
}

这样能正确处理数据,但是效率太差。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: