All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.splout.db.examples.PageCountsUrlGenerator Maven / Gradle / Ivy

Go to download

Splout is a read only, horizontally scalable SQL database that plays well with Hadoop.

There is a newer version: 0.3.0
Show newest version
package com.splout.db.examples;

/*
 * #%L
 * Splout SQL Hadoop library
 * %%
 * Copyright (C) 2012 Datasalt Systems S.L.
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class PageCountsUrlGenerator {

	public static void main(String[] args) throws URISyntaxException, IOException {
		
//		final String[] hosts = { "10.244.43.226:4412", "10.194.247.126:4412" };

		final String[] hosts = { "localhost:4412" };
		
		BufferedWriter writer = new BufferedWriter(new FileWriter("urls.txt"));
		
		char firstChar = 'A';
		while(firstChar < 'Z') {
			char secondChar = 'a';
			while(secondChar < 'z') {
				char thirdChar = 'a';
				while(thirdChar < 'z') {
					char fourthChar = 'a';
					while(fourthChar < 'd') {
						for(String host: hosts) {
							String key = "" + firstChar + secondChar + thirdChar + fourthChar;
							String query = "SELECT * FROM pagecounts WHERE pagename LIKE '" + key + "%' LIMIT 10";
							String url = new URI("http", host, "/api/query/pagecounts", "key=" + key + "&sql=" + query, null).toASCIIString();
							writer.write(url + "\n");
							query = "SELECT hour, SUM(pageviews), AVG(pageviews) FROM (SELECT * FROM pagecounts WHERE pagename LIKE '" + key + "%' LIMIT 100) GROUP BY hour;";
							url = new URI("http", host, "/api/query/pagecounts", "key=" + key + "&sql=" + query, null).toASCIIString();
							writer.write(url + "\n");
						}
						fourthChar++;
					}
					thirdChar++;
				}
				secondChar++;
			}
			firstChar++;
		}
		
		writer.close();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy