晓夏

北漂的女孩

Good Luck To You!

shell解决大数据量查询的问题

浏览量:709

        有一天自己要去一个很大的公司,遇见大数据,光用户的信息就14亿,程序又让你查询一下用户信息,条件是昵称含有“坏蛋”这个词的用户所有的信息,对于学习php的我们来说你是不是想到mysql慢慢跑,老板说给你一上午的时间,你会怎么办?这时候我想起来一个解决问题的方法,一个是hive 大数据量查询,一个是shell查询,我觉的shell相对简单,给大家推荐一下。

#!/bin/sh
#获得 当前的地址
cur_dir=$(cd `dirname $0`; pwd)
log_file="$cur_dir/user_name.log"
#没跑数据之前都要删除同名字的文件
rm -rf $log_file
i=0;
while (( "$i" <= "14221515600" ));
do
    pre=$i
    #echo pre;
    #exit 0;
    #每次查询4000条数据,防止数据库锁表
    let "i=$i+4000"
    #查询用户信息
     run_sql.sh user_text "select * from user_text where id>=$pre and id<$i " \
     | tail -n +2  >> $cur_dir/user_name.log
   echo $i
done


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。