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
神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。