Commit b96ae903 by jinfeng.wang

algo tag

parent 2579c81a
package com.mobvista.apptag.utils;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.HashSet;
import java.util.Set;
/**
* @package: com.mobvista.apptag.utils
* @author: wangjf
* @date: 2019-07-17
* @time: 11:38
* @email: jinfeng.wang@mobvista.com
* @phone: 152-1062-7698
*/
public class GetPackageFromMongo {
public static void main(String[] args) {
try {
// 连接到 mongodb 服务
String mongoUrl = "internal-beijing-adServerMongo-virginia-1390640500.us-east-1.elb.amazonaws.com";
MongoClient mongoClient = new MongoClient(mongoUrl, 27017);
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("new_adn");
System.out.println("Connect to database successfully");
MongoCollection<Document> collection = mongoDatabase.getCollection("campaign");
MongoCursor<Document> findIterable = collection.find().iterator();
Set<String> set = new HashSet<>();
while (findIterable.hasNext()) {
String json = findIterable.next().toJson();
System.out.println(json);
String packageName = GsonUtil.String2JsonObject(json).get("packageName").getAsString();
set.add(packageName);
}
MySqlUtil mySqlUtil = new MySqlUtil();
mySqlUtil.insert(set);
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
}
}
package com.mobvista.apptag.utils;
import com.google.gson.*;
/**
* @package: com.mobvista.dmp.server.utils
* @author: wangjf
* @date: 2019-06-18
* @time: 17:57
* @emial: jinfeng.wang@mobvista.com
* @phone: 152-1062-7698
*/
public class GsonUtil {
public static JsonElement toJsonTree(Object obj) {
if (obj != null) {
Gson gson = new Gson();
return gson.toJsonTree(obj);
}
return null;
}
public static String toJson(Object obj) {
if (null == obj) {
return null;
}
Gson gson = new Gson();
return gson.toJson(obj);
}
public static <T> T fromJson(JsonElement json, Class<T> clazz) {
if (json == null || clazz == null) {
return null;
}
Gson gson = new Gson();
return gson.fromJson(json, clazz);
}
/**
* 将字符串转换为JsonArray
*
* @param str
* @return
*/
public static JsonArray String2JsonArray(String str) {
if (null != str && !"".equals(str)) {
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(str);
return element.getAsJsonArray();
}
return new JsonArray();
}
/**
* 将字符串转换为JsonObject
*
* @param str
* @return
*/
public static JsonObject String2JsonObject(String str) {
if (null != str && !"".equals(str)) {
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(str);
return element.getAsJsonObject();
}
return null;
}
}
package com.mobvista.apptag.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Iterator;
import java.util.Set;
/**
* @package: com.mobvista.apptag.utils
* @author: wangjf
* @date: 2019-07-17
* @time: 11:38
* @email: jinfeng.wang@mobvista.com
* @phone: 152-1062-7698
*/
public class MySqlUtil {
void insert(Set<String> set) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://dataplatform-app-tag.c5yzcdreb1xr.us-east-1.rds.amazonaws.com:3306/app_tag?useUnicode=true&characterEncoding=utf8&useSSL=false", "apptag_rw", "7gyLEVtkER3u8c9");
Statement stmt = con.createStatement();
String insert_sql = "REPLACE INTO tag_list(package_name, platform, install) VALUES('@packageName','@platform',10000000000)";
Iterator<String> iset = set.iterator();
while (iset.hasNext()) {
String platform;
String packageName = iset.next();
if (packageName.contains(".")) {
platform = "Android";
} else {
platform = "IOS";
if (packageName != null && packageName.matches("^id\\d+$")) {
packageName = packageName.replace("id", "");
}
}
stmt.executeQuery(insert_sql.replace("@packageName", packageName).replace("@platform", platform));
}
con.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment