Hallo zusammen,
ich soll eine Logfile Analyse an einem Logfile einer chinesischen Suchmaschine durchführen.
Die Logfile ist eine Text-Datei die, die Daten in den folgenden 4 Spalten enthält:
IP als Hash || Suchanfrage || Ranking und Klicks || Aufgerufene URL
6583834172867 || [????] || 9 1 || fo.perinetics.net/yi/a1833z4448.html
Ich bin jetzt soweit, dass ich die Daten spaltenweise einlese. Habe etwas rumüberlegt und gesucht und gedacht, dass vllt eine Realiserung über eine Hashmap sinnvoll wäre.
Nun habe ich gedacht, dass ich eine neue Klasse "Session" anlege und dort ein Objekt "IP" für die Klasse anlege.
Eine Session soll so definiert sein, dass solange ich die selbe IP einlese, es eine Session ist. Sobald es eine neue IP ist, ist diese Session damit beendet.
Außerdem dachte ich, dass ich eine weitere Klasse für die Suchanfrage anlege.
Die Hashmap könnte man evt so realiseren, dass ich die "IP" als key anlege und alle anderen Daten/Suchanfragen zu einer IP in einem hashset.
Dies ist das, was ich soweit habe.
Außerdem natürlich die Session und Query Klasse
Ich weiß nun aber leider nicht, wie ich meinen Plan tatsächlich umsetze. Finde überall nur Tutorials wo es um 2-3 Daten geht, aber nicht um eine unbestimmte Datenmenge.
Kann mir jemand bitte Starthilfe geben?
ich soll eine Logfile Analyse an einem Logfile einer chinesischen Suchmaschine durchführen.
Die Logfile ist eine Text-Datei die, die Daten in den folgenden 4 Spalten enthält:
IP als Hash || Suchanfrage || Ranking und Klicks || Aufgerufene URL
6583834172867 || [????] || 9 1 || fo.perinetics.net/yi/a1833z4448.html
Ich bin jetzt soweit, dass ich die Daten spaltenweise einlese. Habe etwas rumüberlegt und gesucht und gedacht, dass vllt eine Realiserung über eine Hashmap sinnvoll wäre.
Nun habe ich gedacht, dass ich eine neue Klasse "Session" anlege und dort ein Objekt "IP" für die Klasse anlege.
Eine Session soll so definiert sein, dass solange ich die selbe IP einlese, es eine Session ist. Sobald es eine neue IP ist, ist diese Session damit beendet.
Außerdem dachte ich, dass ich eine weitere Klasse für die Suchanfrage anlege.
Die Hashmap könnte man evt so realiseren, dass ich die "IP" als key anlege und alle anderen Daten/Suchanfragen zu einer IP in einem hashset.
Dies ist das, was ich soweit habe.
Code:
package analyzer;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
public class LogfileAnalyzer {
public static void savedata() {
//Hashmap initialisieren
HashMap<Integer, String> hm = new HashMap<Integer, String>();
}
//Datei zeilenweise lesen und ausgeben
public static void filereader(String datName) {
File log = new File(datName);
if (!log.canRead() || !log.isFile())
System.exit(0);
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(datName));
String zeile = null;
while ((zeile = in.readLine()) != null) {
System.out.println("Gelesene Zeile: " + zeile);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null)
try {
in.close();
} catch (IOException e) {
}
}
}
//Main-Methode
public static void main(String args[]) {
String dateiName = "logfile_uni.txt";
filereader(dateiName);
}
}
Außerdem natürlich die Session und Query Klasse
Code:
package analyzer;
public class Session {
//Session Objekt ID anlegen
Session id = new Session();
//Standardkonstruktor
Session() {
}
}
Code:
package analyzer;
public class Query {
Query clicks = new Query();
//Standardkonstruktor
public Query() {
// TODO Auto-generated constructor stub
}
}
Ich weiß nun aber leider nicht, wie ich meinen Plan tatsächlich umsetze. Finde überall nur Tutorials wo es um 2-3 Daten geht, aber nicht um eine unbestimmte Datenmenge.
Kann mir jemand bitte Starthilfe geben?