【发布时间】:2018-09-16 12:17:18
【问题描述】:
在 java 中,插入 cassandra 时出现此错误, 我也尝试过时间戳数据类型,
那么是问题日期类型还是 java 代码?你能建议代码更改吗
读取 csv 文件。
错误:
Exception in thread "main" com.datastax.driver.core.exceptions.InvalidQueryException: Invalid STRING constant (2012/11/11) for "fl_date" of type timeuuid
结构: fl_date timeuuid,
代码:
System.out.println("Processing CSV file ...");
List<Flight> flightList = ProcessFlightsCSV.processFlights("flights_from_pg.csv");
for (Flight flight : flightList) {
System.out.println(flight);
Insert query = QueryBuilder.insertInto("flights")
.value("id", flight.getId())
.value("year", flight.getYear())
.value("fl_date", flight.getFlDate())
.value("airline_id", flight.getAirlineId())
.value("carrier", flight.getCarrier())
.value("fl_num", flight.getFlNum())
.value("origin_airport_id", flight.getOriginAirportId())
.value("origin", flight.getOrigin())
.value("origin_city_name", flight.getOriginCityName())
.value("origin_state_abr", flight.getOriginStateAbr())
.value("dest", flight.getDest())
.value("day_of_month", flight.getDayOfMonth())
.value("dest_city_name", flight.getDestCityName())
.value("dest_state_abr", flight.getDestStateAbr())
.value("dep_time", flight.getDepTime())
.value("arr_time", flight.getArrTime())
.value("distance", flight.getDistance())
;
session.execute(query.toString());
}
}
}
【问题讨论】:
-
你的表结构是什么?我的假设是您正在尝试将日期插入 timeuuid 列
-
正确的格式是timeuuid数据是YYYY/MM/DD
-
这里可以打印fl_date的一个值的内容吗?