80 lines
2.1 KiB
C++
80 lines
2.1 KiB
C++
#include "MySQLWrapper.h"
|
|
#include <iostream>
|
|
#include <vector>
|
|
#include <map>
|
|
#include <set>
|
|
#include <cstdlib>
|
|
#include <cstdio>
|
|
#include <cstring>
|
|
#include <algorithm>
|
|
#include <fstream>
|
|
using namespace std;
|
|
|
|
#include "local_db_account.h"
|
|
#include "util.hpp"
|
|
|
|
int main()
|
|
{
|
|
MySQLConn conn;
|
|
conn.connect("127.0.0.1",db_user,db_passwd,"bigdata3",3306);
|
|
cout<<"Connected to DB"<<endl;
|
|
conn.exec("set names gbk",nullptr);
|
|
|
|
map<string,vector<cash_pack>> mp;
|
|
conn.exec("select job_city,salary from lagou_job",[&](MySQLResult& res)
|
|
{
|
|
res.stepRow([&](char** val,unsigned long* len)
|
|
{
|
|
string city(val[0]);
|
|
cash_pack pk=ParseCash(val[1]);
|
|
mp[Trim(city)].push_back(pk);
|
|
});
|
|
});
|
|
|
|
conn.exec("use bigdata5",nullptr);
|
|
conn.exec("select job_city,salary from pages",[&](MySQLResult& res)
|
|
{
|
|
res.stepRow([&](char** val,unsigned long* len)
|
|
{
|
|
string city(val[0]);
|
|
cash_pack pk=ParseCashX(val[1]);
|
|
mp[Trim(city)].push_back(pk);
|
|
});
|
|
});
|
|
|
|
/// 100w Database
|
|
conn.exec("use bigdata2",nullptr);
|
|
conn.exec("select job_city,salary from pages",[&](MySQLResult& res)
|
|
{
|
|
res.stepRow([&](char** val,unsigned long* len)
|
|
{
|
|
string city(val[0]);
|
|
cash_pack pk=ParseCashX(val[1]);
|
|
mp[Trim(city)].push_back(pk);
|
|
});
|
|
});
|
|
|
|
|
|
|
|
ofstream ofs("result/2.1.csv");
|
|
|
|
#define cout ofs
|
|
|
|
for(auto& pr:mp)
|
|
{
|
|
cout<<pr.first<<",";
|
|
int sum=0;
|
|
int n=pr.second.size();
|
|
for(int i=0;i<n;i++)
|
|
{
|
|
sum+=pr.second[i].ave();
|
|
}
|
|
sum/=n;
|
|
cout<<sum<<endl;
|
|
}
|
|
|
|
#undef cout
|
|
|
|
return 0;
|
|
}
|