Package edu.brown.benchmark.users

Source Code of edu.brown.benchmark.users.UsersLoader

package edu.brown.benchmark.users;
import java.util.HashMap;

import org.apache.log4j.Logger;
import org.voltdb.VoltTable;
import org.voltdb.catalog.Database;
import org.voltdb.catalog.Table;

import edu.brown.api.BenchmarkComponent;
import edu.brown.api.Loader;
import edu.brown.catalog.CatalogUtil;

public class UsersLoader extends Loader{
    private static final Logger LOG = Logger.getLogger(UsersLoader.class);
    private static final boolean d = LOG.isDebugEnabled();

    private long articlesSize;
  private long usersSize;
  private long maxComments;
    public static void main(String[] args) {
        BenchmarkComponent.main(UsersLoader.class, args, true);
    }

    public UsersLoader(String[] args) {
        super(args);
        this.usersSize = Math.round(UsersConstants.USERS_SIZE * this.getScaleFactor());
    }

    @Override
    public void load() {
        if (d) LOG.debug("Starting ArticlesLoader");
        final Database catalog_db = this.getCatalogContext().database;

        if (d) LOG.debug("Start loading " + UsersConstants.TABLENAME_USERS);
        Table catalog_tbl = catalog_db.getTables().get(UsersConstants.TABLENAME_USERS);
        genUsers(catalog_tbl);
        if (d) LOG.debug("Finished loading " + UsersConstants.TABLENAME_USERS);

    }


    /**
     * Populate Users table per benchmark spec.
     */
    void genUsers(Table catalog_tbl) {
        final VoltTable table = CatalogUtil.getVoltTable(catalog_tbl);

/*-- u_firstname      User's first name
-- u_lastname       User's last name
-- u_password       User's password
-- u_email          User's email

*
* */               
        long total = 0;
        for (long s_id = 0; s_id < this.usersSize; s_id++) {
                Object row[] = new Object[table.getColumnCount()];
                row[0] = s_id;
                row[1] = UsersUtil.astring(3, 3);
                row[2] = UsersUtil.astring(3, 3);
                row[3] = UsersUtil.astring(3, 3);
                row[4] = UsersUtil.astring(3, 3);
                row[5] = s_id;
                table.addRow(row);
                total++;
            if (table.getRowCount() >= UsersConstants.BATCH_SIZE) {
                if (d) LOG.debug(String.format("%s: %6d / %d",
                    UsersConstants.TABLENAME_USERS, total, usersSize));
                loadVoltTable(UsersConstants.TABLENAME_USERS, table);
                table.clearRowData();
            }
        } // WHILE
        if (table.getRowCount() > 0) {
            if (d) LOG.debug(String.format("%s: %6d / %d",
                UsersConstants.TABLENAME_USERS, total, usersSize));
            loadVoltTable(UsersConstants.TABLENAME_USERS, table);
            table.clearRowData();
        }
    }

     
  }
TOP

Related Classes of edu.brown.benchmark.users.UsersLoader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.