如何处理800w的数据量

shidaide 发布于 2016/05/24 20:22
阅读 484
收藏 0

下面是一个将近800w数据中提取出的前一小部分数据。第一列是主叫号码,第二列是被叫号码,第三列是通话时长,要求的是将同一个号码的呼叫次数和呼叫总时长统计出来写在一行里(800w号码都要这样),问题是如何选择一个合适的软件,还有怎么操作

sn_fx     sn_tx     dur
5129789 3310325 2
5129789 5144184 1
5129789 5144184 1
5129789 5144184 1
5129789 5144184 1
5129789 6302346 4
5129789 6302346 3
5129789 6302346 3
5129789 6302346 3
5129789 6302346 3
5129789 6302346 6
5129789 10933510 4
5129789 10933510 4
5129789 10933510 4
5129789 10933510 4
5129789 10933510 20
5129789 10933510 1
5129789 10933510 3
5129789 10933510 2
5129789 10933510 1
5129789 10933510 5
5129789 10933510 7
5129789 11436248 2
5129789 25704056 1
5129789 25979583 1
5129789 25979583 1
5129789 25979583 1
5129789 25979583 3
5129789 25979583 2
5129789 31328983 3
5129789 36214102 2
5129789 36214102 2
5129789 36214102 2
5129789 36214102 2
5129789 36214102 2
5129789 36214102 2
5129789 36390702 1
5129789 36390702 1
5129789 36390702 1
5129789 36390702 1
5129789 36390702 2
5129789 36390702 5
5129789 36390702 9
5129789 36390702 6
5129789 36390721 3
5129789 37219332 2
5129789 37517111 5
5129789 37517111 5
5129789 37517111 5
5129789 37517111 5
5129789 37517111 2
5129789 37517111 1
5129789 37517111 1
5129789 37517111 1
5129789 37517111 2
5129789 37517111 1
5129789 37517111 1
5129789 37517111 2
5129789 37962717 5
5129789 37962717 4
5129789 37962717 11
5129789 37962717 11
5129789 37962717 13
5129789 37962717 9
5129789 37962717 4
5129789 37962717 17
5129789 37962717 5
5129789 37962717 5
5129789 43385574 5
5129789 43385574 5
5129789 43385574 5
5129789 43385574 5
5129789 43385574 7
5129789 43385574 6
5129789 45809880 3
5129789 45809880 4
5130834 5372140 1
5130834 5372140 2
5130834 5372140 1
5130834 5372140 2
5130834 5372140 3
5130834 15908340 2
5130834 15908340 1
5130834 22402032 1
5130834 22402032 1
5130834 22402032 1
5130834 24712107 8
5130834 24712107 9
5130834 28895862 1
5130834 29284851 1
5130834 29690388 1
5130834 30002746 77
5130834 30002746 78
5130834 30002746 37
5130834 30002746 42
5130834 30002746 42
5130834 30002746 42
5130834 30002746 42
5130834 30002746 73
5130834 30002746 53
5130834 30002746 34
5130834 30002746 56
5130834 30002746 6
5130834 30002746 28
5130834 30002746 51
5130834 30002746 110
5130834 30002746 40
5130834 30002746 52
5130834 30002746 10
5130834 30002746 2
5130834 30002746 105
5130834 30002746 79
5130834 30002746 119
5130834 30002746 97
5130834 30002746 7
5130834 33085607 1
5130834 35607516 2
5130834 35607516 1
5130834 35607516 1
5130834 35607516 10
5130834 35607517 1
5130834 35607517 1
5130834 35607517 1
5130834 35607517 1
5130834 35607517 1
5130834 35607517 1
5130834 36912520 6
5130834 38118478 1
5130834 38118478 1
5130834 38118478 1
5130834 38118478 1
5130834 38118478 3
5130834 38118478 2
5130834 38118478 1
5130834 38118478 1
5130834 40939194 4
5130834 40939194 3
5130834 41053710 1
5130834 41079233 10
5130834 41153020 5
5130834 41406798 1
5130834 44276430 6
5130834 44276430 2
5130834 44276430 1
5130834 44276430 3
5130834 44845875 1
5130834 44845875 6
5130834 44845875 1
5130834 44916020 3
5130834 44916020 1
5130834 45278609 2
5130834 45511068 1
5130834 45511068 1
5130834 45511068 2
5130834 45541399 1
5130834 45541399 2
5130834 45541399 1
5130834 45726692 2
5130834 46310308 1
5130834 48214497 1
5130834 48214497 1
5130834 48287211 5


加载中
1
别慌
别慌
一句SQL语句就能解决
别慌
别慌
回复 @shidaide : mysql,mssql这类关系型数据库,800w数据应该没问题的。更何况你字段数量也不多,数值也不长。
别慌
别慌
select count(*) 呼叫次数 ,count(时长字段) from 表明 group by 呼叫号码字段
s
shidaide
请问语句该怎么写啊,就比如说用上面的,还有我的需要统计的量会很大,sql会不会带不动?
1
钛元素
钛元素
你不会...是恶意的那种吧...
1
沧海_Sea
沧海_Sea
python写脚本树立 800W 不算大
1
geminiblue
geminiblue

看样子这哥们不懂程序。。。。怎么讲?

把数据导入到sqlite里面去,那么第一步就是:下载个火狐,装个sqlitemanager扩展

然后打开扩展,里面有个导入,选择好对应关系,这些都是可视化界面

第二步:写sql语句进行查询 select count(1) from 表名  group by 列名

1
松鼠先生
松鼠先生
看起来,好像不懂技术,说再多的方案也没用。几行代码就完事。
0
抢小孩糖吃
抢小孩糖吃

简单写法入上面直接select,不过会卡住。

从资源的角度,应当读入固定buffer,把统计好的信息算好,存入sql或file结果集。释放buffer和统计缓存,重复以上动作知道结束。

s
shidaide
能不能说的具体一些有点不是太懂
0
人生悬疑片
人生悬疑片
hadoop计算统计
s
shidaide
能不能具体写一下
0
Altman
Altman

一行shell的事。。。。

awk '{++num[$1]; time[$1] += $3} END {for(key in num) printf("%s\t%d\t%d\n",key,num[key],time[key])}' xxx.txt

0
eechen
eechen
<?php
header('Content-Type: text/plain; charset=utf-8');
$tmp = array();
$arr = array(
    array(5129789, 3310325, 2),
    array(5129789, 5144184, 1),
    array(5129788, 5144184, 3),
    array(5129788, 5144182, 2),
);
foreach($arr as $v) {
    //一行PHP的事
    $tmp[$v[0]]['dur'] = (!isset($tmp[$v[0]]['dur'])) ? $v[2] : $v[2]+$tmp[$v[0]]['dur'];
}
var_export($tmp);
//输出:
array (
  5129789 =>
  array (
    'dur' => 3,
  ),
  5129788 =>
  array (
    'dur' => 5,
  ),
)
s
shidaide
这个是什么环境的啊
返回顶部
顶部