Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kazntu.kz_031215_ND_MukazhanovNK.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.61 Mб
Скачать

Қосымша б

Бағдарлама листингінен үзінді

mport java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB;

import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject;

import com.mongodb.MapReduceCommand; import com.mongodb.MapReduceOutput; import com.mongodb.MongoClient;

import com.mongodb.MongoException; import java.net.UnknownHostException; import java.util.Date;

import java.util.List;

//import java.util.StringJoiner;

//import java.util.function.Consumer; public class Mongo_open_data_agr

{

public static void main(String[] args)

{

/**** Connect to MongoDB ****/ MongoClient mongo = null;

try {

mongo = new MongoClient("localhost", 27017);

} catch (UnknownHostException | MongoException e) {

}

DB db = mongo.getDB("open_data_1"); DBCollection t_potrebnost_ped_kadrov =

db.getCollection("potrebnost_ped_kadrov");

//BasicDBObject searchQuery = new BasicDBObject();

//DBCursor cursor = t_potrebnost_ped_kadrov.find((DBObject) searchQuery.put("region","subject_name" ));

DBCursor cursor = t_potrebnost_ped_kadrov.find(); while (cursor.hasNext())

{

System.out.println(cursor.next());

}

String map_for_2_d = "function() {var key = {region: this.region, subject_name: this.subject_name};"+

"emit (key, {count: this.count});}";

String reduce_for_2_d = "function(key, values) "+ "{var sum = 0;"+

"values.forEach(function(value)"+ "{sum += value['count'];}); "+

"return {count: sum};};"; MapReduceCommand cmd_for_2_d = new

MapReduceCommand(t_potrebnost_ped_kadrov, map_for_2_d, reduce_for_2_d, null, MapReduceCommand.OutputType.INLINE, null);

MapReduceOutput out = t_potrebnost_ped_kadrov.mapReduce(cmd_for_2_d); for (DBObject out_for_2_d : out.results())

{

System.out.println(out_for_2_d.toString());

}

System.out.println("next dim \n ");

String map_for_1 = "function() {var key = {region: this.region};"+ "emit (key, {count:this.count});}";

String reduce_for_1 = "function(key, values) "+ "{var sum = 0;"+ "values.forEach(function(value)"+

"{sum += value['count'];}); "+

"return {count: sum};};"; MapReduceCommand cmd_for_1_d1 = new

MapReduceCommand(t_potrebnost_ped_kadrov, map_for_1, reduce_for_1, null, MapReduceCommand.OutputType.INLINE, null);

MapReduceOutput out_for_1_d = t_potrebnost_ped_kadrov.mapReduce(cmd_for_1_d1);

for (DBObject o_for_1_d : out_for_1_d.results())

{

System.out.println(o_for_1_d.toString());

}

System.out.println(" next dim \n ");

String map_for_1_d2 = "function() {var key = {subject_name: this.subject_name};"+

"emit (key, {count:this.count});}";

String reduce_for_1_d2 = "function(key, values) "+ "{var sum = 0;"+ "values.forEach(function(value)"+

"{sum += value['count'];}); "+

"return {count: sum};};"; MapReduceCommand cmd_for_1_d2 = new

MapReduceCommand(t_potrebnost_ped_kadrov, map_for_1_d2, reduce_for_1_d2, null, MapReduceCommand.OutputType.INLINE, null);

MapReduceOutput out_for_1_d2 = t_potrebnost_ped_kadrov.mapReduce(cmd_for_1_d2);

for (DBObject o_for_1_d2 : out_for_1_d2.results())

{

System.out.println(o_for_1_d2.toString());

}

}

}

Кілт-мəн түріндегі деректерді бірыңғай кестелік құрылымға келтіру класы

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;

import java.util.Date;

import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExcelWrapper {

FileOutputStream fileOut; HSSFWorkbook workbook; HSSFSheet worksheet;

public ExcelWrapper() throws FileNotFoundException { fileOut = new FileOutputStream("result.xls"); workbook = new HSSFWorkbook();

worksheet = workbook.createSheet("Главная страница");

}

public void put(Object content, int rowNum, int colNum, Class cl) { HSSFRow row = null;

if (worksheet.getRow(rowNum) == null) { row = worksheet.createRow(rowNum);

} else {

row = worksheet.getRow(rowNum);

}

HSSFCell cell = row.createCell(colNum); if (cl.equals(Boolean.class)) {

cell.setCellValue(cast(Boolean.class, content).booleanValue());

} else if (cl.equals(Date.class)) { cell.setCellValue(cast(Date.class, content));

} else if (cl.equals(Double.class)) { cell.setCellValue(cast(Double.class, content).doubleValue());

} else {

cell.setCellValue(content + "");

}

}

<T> T cast(Class<T> cls, Object o) { return cls.cast(o);

}

public void close() throws IOException {

workbook.write(fileOut); fileOut.flush(); fileOut.close();

}

}

// Parser

public class Parser {

ExcelWrapper excelWrapper = new ExcelWrapper(); int currentRow = 0;

excelWrapper.put("Id", currentRow, 0, String.class); excelWrapper.put("school_name", currentRow, 1, String.class); excelWrapper.put("type", currentRow, 2, String.class); excelWrapper.put("address", currentRow, 3, String.class); Scanner in = new Scanner(new File("input"));

while (in.hasNextLine()) { currentRow++;

try {

String line = in.nextLine(); if (line.trim().length() > 0) {

JSONObject json = getJsonObjectElement(line); Object id = json.get("id");

Object school = json.get("school_name"); Object type = json.get("type");

HashMap map = (HashMap) json.get("address"); Object microdistrict = map.get("region_district"); Object city = map.get("city"); System.out.println(id + " " + school + " ");

excelWrapper.put(new Double(id + ""), currentRow, 0, Double.class); excelWrapper.put(school, currentRow, 1, String.class); excelWrapper.put(type, currentRow, 2, String.class); excelWrapper.put(city, currentRow, 3, String.class);

} else {

System.err.println("Didn't processed [" + line + "]");

}

} catch (Exception ex) { System.err.println("UPS ... "); ex.printStackTrace();

}

}

excelWrapper.close();

}

private static JSONObject getJsonObjectElement(String line) throws ParseException{

JSONParser jsonParser = new JSONParser();

JSONObject jsonObject = (JSONObject) jsonParser.parse(line); return jsonObject;

}

}

Нəтижелер:

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "CWP"} , "value"

: { "count" : 3.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "biology"} , "value" : { "count" : 7.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "chemistry"} , "value" : { "count" : 9.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "english"} , "value" : { "count" : 4.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "geography"} , "value" : { "count" : 5.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "history"} , "value" : { "count" : 2.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "id"} , "value" : { "count" : 4.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "informatics"} , "value" : { "count" : 2.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "kazakh_language"} , "value" : { "count" :4.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "labor"} , "value" :

{ "count" : 2.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "mathematics"} , "value" : { "count" : 25.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "physical_culture"} , "value" : { "count" :3.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "physics"} , "value" : { "count" : 21.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "russian_language"} , "value" : { "count" :15.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "self-knowledge"}

, "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы /Алматинская" , "subject_name" : "singing"} , "value" : { "count" :3.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы"} , "value" : { }}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "CWP"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "biology"} , "value"

: { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "chemistry"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "english"} , "value" :

{ "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "geography"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "history"} , "value" :

{ "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "id"} , "value" : { "count" : 17.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "informatics"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "kazakh_language"}

, "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "labor"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "mathematics"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "physical_culture"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "physics"} , "value"

: { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "russian_language"}

, "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "self-knowledge"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Алматы қ /г.Алматы" , "subject_name" : "singing"} , "value" :

{ "count" : 0.0}}

{ "_id" : { "region" : "Астана қ /г.Астана"} , "value" : { }}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "CWP"} , "value" : { "count" : 3.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "biology"} , "value" :

{ "count" : 0.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "chemistry"} ,"value"

: { "count" : 10.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "english"} , "value" : { "count" : 8.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "geography"} , "value"

: { "count" : 0.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "history"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "id"} , "value" : { "count" : 16.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "informatics"} , "value" : { "count" :4.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "kazakh_language"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "labor"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "mathematics"} , "value" : { "count" : 45.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "physical_culture"} , "value" : { "count" : 10.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "physics"} , "value" : { "count" : 25.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "russian_language"} , "value" : { }}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "self-knowledge"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Астана қ /г.Астана" , "subject_name" : "singing"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Атырау /Атырауская"} , "value" : { }}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "CWP"} , "value" :

{ "count" : 3.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "biology"} , "value"

: { "count" : 4.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "chemistry"} , "value" : { "count" : 16.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "english"} , "value"

: { "count" : 2.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "geography"} , "value" : { "count" : 5.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "history"} , "value" :

{ "count" : 9.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "id"} , "value" : { "count" : 5.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "informatics"} , "value" : { "count" : 6.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "kazakh_language"}

, "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "labor"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "mathematics"} , "value" : { "count" : 32.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "physical_culture"}

, "value" : { "count" : 7.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "physics"} , "value"

: { "count" : 17.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "russian_language"}

, "value" : { "count" : 31.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "self-knowledge"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Атырау /Атырауская" , "subject_name" : "singing"} ,"value"

: { "count" : 4.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "CWP"} , "value" :

{ "count" : 0.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "biology"} , "value" : { "count" : 1.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "chemistry"} , "value" : { "count" : 6.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "english"} , "value" : { "count" : 41.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "geography"} , "value" : { "count" : 2.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "history"} , "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "id"} , "value" : { "count" : 2.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "informatics"} , "value" : { "count" : 1.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "kazakh_language"} , "value" : { "count" :3.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "labor"} , "value" :

{ "count" : 1.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "mathematics"} , "value" : { "count" : 10.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "physical_culture"} , "value" : { "count" :0.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "physics"} , "value" : { "count" : 2.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "russian_language"} , "value" : { "count" :3.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "self-knowledge"}

, "value" : { "count" : 0.0}}

{ "_id" : { "region" : "Ақмола /Акмолинская" , "subject_name" : "singing"} , "value" : { "count" : 4.0}}

............................................

{ "_id" : { "subject_name" : "CWP"} , "value" : { "count" : 31.0}}

{ "_id" : { "subject_name" : "biology"} , "value" : { "count" : 60.0}}

{ "_id" : { "subject_name" : "chemistry"} , "value" : { "count" : 160.0}}

{ "_id" : { "subject_name" : "english"} , "value" : { "count" : 217.0}}

{ "_id" : { "subject_name" : "geography"} , "value" : { "count" : 60.0}}

{ "_id" : { "subject_name" : "history"} , "value" : { "count" : 92.0}}

{ "_id" : { "subject_name" : "id"} , "value" : { "count" : 152.0}}

{ "_id" : { "subject_name" : "informatics"} , "value" : { "count" : 58.0}}

{ "_id" : { "subject_name" : "kazakh_language"} , "value" : { "count" : 91.0}}

{ "_id" : { "subject_name" : "labor"} , "value" : { "count" : 53.0}}

{ "_id" : { "subject_name" : "mathematics"} , "value" : { "count" : 415.0}}

{ "_id" : { "subject_name" : "physical_culture"} , "value" : { "count" : 72.0}}

{ "_id" : { "subject_name" : "physics"} , "value" : { "count" : 204.0}}

{ "_id" : { "subject_name" : "russian_language"} , "value" : { "count" : 175.0}}

{ "_id" : { "subject_name" : "self-knowledge"} , "value" : { "count" : 16.0}}

{ "_id" : { "subject_name" : "singing"} , "value" : { "count" : 68.0}}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]