Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1634425
  • 博文数量: 201
  • 博客积分: 2812
  • 博客等级: 少校
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-18 18:28
个人简介

从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。

文章存档

2016年(1)

2015年(8)

2014年(23)

2013年(50)

2012年(32)

2011年(87)

分类: Sybase

2011-05-10 15:20:39

   本人先前的博文(http://blog.chinaunix.net/space.php?uid=16765068&do=blog&id=108118)中介绍了多线索装载的使用方法和例子。
   在实际的系统中,有可能需要装载的数据文件并不符合多线索的要求,即文件记录中最后一个字段后没有列分割符!如果在Unix或Linux环境下,可以使用awk脚本对文件进行处理,把它转换成符合要求的格式。下面是笔者写的一个例子,跟大家分享。
   1. 转换的awk脚本(convert.awk),用于在记录的最后一个字段后添加列分割符:
 
#convert.awk
BEGIN {
}
# action applied to all input lines
{
  str=($1 FS);
  for (i = 2; i <= NF; ++i) {
      str=(str $i FS);
  }
  print str;
}
END {
}  
  
   2. 一个单线索数据文件region_s.tbl的内容
 
0|AFRICA|lar deposits. blithely final packages cajole.
1|AMERICA|hs use ironic, even requests.
2|ASIA|ges. thinly even pinto beans ca
3|EUROPE|ly final courts cajole furiously final excuse
4|MIDDLE EAST|uickly special accounts cajole carefully blithely close requests.
 
   3. 执行awk脚本。
 
cat region_s.tbl | awk -F '|' -f convert.awk > region_m.tbl
 
   4. 执行完转换之后的region_m.tbl的内容
 
0|AFRICA|lar deposits. blithely final packages cajole.|
1|AMERICA|hs use ironic, even requests.|
2|ASIA|ges. thinly even pinto beans ca|
3|EUROPE|ly final courts cajole furiously final excuse|
4|MIDDLE EAST|uickly special accounts cajole carefully blithely close requests.|
    
阅读(2295) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~