Skip to content

Commit 36b1f4f

Browse files
fixing all the types
1 parent eda43fb commit 36b1f4f

File tree

6 files changed

+42
-9
lines changed

6 files changed

+42
-9
lines changed

cdm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
keyspace: cdmtest
22
tables:
33
- users
4-
- collection
4+
- alltypes
55
version: 2.2

data/alltypes.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
49e37fdb-49e7-4dec-8fd6-3da78273de3c,4.5,500.01,{1: 3},1,01eb1ed0-739b-11e6-928a-15b0d640b4c2

data/collection.csv

Lines changed: 0 additions & 2 deletions
This file was deleted.

data/users.csv

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
Jimmy O'Hare,5
21
Rachel,10
3-
Luke,5
4-
Dani,15
2+
Duy Hai,9
53
Jon,50
64
Patrick,2
5+
Dani,15
6+
Jimmy O'Hare,5
7+
Luke,5
78
Rebecca,8
8-
Duy Hai,9

schema.cql

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
11
create table users ( name text primary key, num_tacos int );
2-
create table movies (name text primary key, year int);
2+
3+
CREATE TABLE alltypes (
4+
id uuid PRIMARY KEY,
5+
avg float,
6+
cash decimal,
7+
intmap map<int, float>,
8+
num int,
9+
ts timeuuid
10+
);

src/main/java/com/datastax/cdm/CassandraDatasetManager.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.datastax.cdm;
22

33
import com.datastax.driver.core.*;
4+
import com.datastax.driver.core.querybuilder.Insert;
5+
import com.datastax.driver.core.querybuilder.QueryBuilder;
46
import com.fasterxml.jackson.core.type.TypeReference;
57
import com.fasterxml.jackson.databind.ObjectMapper;
68
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
@@ -12,6 +14,8 @@
1214
import org.eclipse.jgit.api.errors.GitAPIException;
1315
import org.eclipse.jgit.api.errors.InvalidRemoteException;
1416
import org.eclipse.jgit.api.errors.TransportException;
17+
18+
import javax.management.Query;
1519
import java.lang.StringBuilder;
1620

1721
//import com.datastax.loader.CqlDelimLoadTask;
@@ -244,13 +248,35 @@ void install(String name) throws IOException, InterruptedException, GitAPIExcept
244248

245249
Reader in = new FileReader(dataFile);
246250
Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(in);
251+
System.out.println("Importing " + table);
247252
KeyspaceMetadata keyspaceMetadata = cluster2.getMetadata()
248253
.getKeyspace(config.keyspace);
249254
TableMetadata tableMetadata = keyspaceMetadata.getTable(table);
250255
// PreparedStatement p = session.prepare();
256+
List<ColumnMetadata> columns = tableMetadata.getColumns();
257+
251258
for(CSVRecord record: records) {
252259
// generate a CQL statement
253-
System.out.println("Blah");
260+
Insert insert = QueryBuilder.insertInto(tableMetadata);
261+
262+
int i = 0;
263+
for(ColumnMetadata cm: columns) {
264+
String t = cm.getType().getName().toString().toLowerCase();
265+
System.out.println(t);
266+
if(t.equals("int")) {
267+
insert.value(cm.getName(), new Integer(record.get(i)));
268+
}
269+
else if(t.equals("float")) {
270+
insert.value(cm.getName(), new Float(record.get(i)));
271+
}
272+
else {
273+
insert.value(cm.getName(), record.get(i));
274+
}
275+
i++;
276+
}
277+
String query = insert.toString();
278+
System.out.println(query);
279+
session.execute(query);
254280
}
255281
}
256282

0 commit comments

Comments
 (0)