Introducción
Se requiere una archivo de de texto que contenga 10 milllones de registros para que posteriormente se haga un test en apache cassandra y se inserten esos 10 millones de registro.El archivo contendra 3 campos nombre,telefono,fecha con string no importa que no tenga timestamp ya que nada mas va a hacer una prueba de estress para probar velocidad en que realiza las transacciones, los campos vendran separados por pipes "|".Desarrollo
Abrimos nuestro IDE eclipse y seleccionamos en File->New->Maven ProjectSeleccionamos en Create a simple project y presionamos Next
LLenamos los siguientes campos y presionamos Finish:
- Group Id: com.tutosoftware.cassandratest
- Artifact Id: cassandratest
- Packaging: jar
- Name: Cassandra Test
En el archivo pom.xml escribimos lo siguiente:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tutosoftware.cassandratest</groupId>
<artifactId>cassandratest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Cassandra Test</name>
<dependencies>
<!-- Cassandra -->
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>${cassandra-driver-core.version}</version>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.cassandraunit/cassandra-unit -->
<dependency>
<groupId>org.cassandraunit</groupId>
<artifactId>cassandra-unit</artifactId>
<version>${cassandra-unit.version}</version>
</dependency>
<!-- DataStax Cassandra -->
<dependency>
<groupId>com.datastax.oss</groupId>
<artifactId>java-driver-core</artifactId>
<version>${datastax-cassandra.version}</version>
</dependency>
<dependency>
<groupId>com.datastax.oss</groupId>
<artifactId>java-driver-query-builder</artifactId>
<version>${datastax-cassandra.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
</dependencies>
<properties>
<!-- Cassandra -->
<cassandra-driver-core.version>3.1.2</cassandra-driver-core.version>
<cassandra-unit.version>3.1.1.0</cassandra-unit.version>
<datastax-cassandra.version>4.1.0</datastax-cassandra.version>
</properties>
</project>
Creamos el paquete com.tutosoftware.cassandratest.util creamos la clase ArchivoCarga
package com.tutosoftware.cassandratest.util;
import java.io.File;
import java.io.FileWriter;
import java.util.Calendar;
public class ArchivoCarga {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
File archivo =new File("texto.txt");
Calendar c = Calendar.getInstance();
String dia = Integer.toString(c.get(Calendar.DATE));
String mes = Integer.toString(c.get(Calendar.MONTH));
String anio= Integer.toString(c.get(Calendar.YEAR));
String fecha=dia+"/"+mes+"/"+anio;
FileWriter escribir= new FileWriter(archivo,true);
System.out.println("Escribiendo archivo");
for(int i=0;i<=10000000;i++) {
String items ="usuario"+i+"|5555555555|"+fecha+"\n";
escribir.write(items);
}
System.out.println("Finalizando archivo");
escribir.close();
}catch(Exception e) {
System.out.println("Error al escribir archivo");
}
}
}
Corremos el ejemplo