如何在 Cassandra 中导入列值,就像具有这样的值“13/01/09 23:13”?

How to import column value in Cassandra like one having such values "13/01/09 23:13"?

查询:

CREATE TABLE IF NOT EXISTS "TEMP_tmp".temp (
"Date_Time" timestamp,
PRIMARY KEY ("Date_Time")
);

CSV 包含“13/01/09 23:13”值。

Error : Failed to import 1 rows: ParseError - Failed to parse 13/01/09 23:13 : invalid literal for long() with base 10: '13/01/09 23:13',  given up without retries.

我应该使用什么数据类型?

默认的 Cqlsh 时间戳格式是:year-month-day hour:min:sec+timezone
示例:

2017-02-01 05:28:36+0000

您可以将日期格式更改为上述格式,也可以从 cqlshrc 文件更改格式
检查这个答案 custom cassandra / cqlsh time_format

cassandra 会将 timestamp 存储为 2017-02-01 08:28:21+0000。例如,如果我将 timestamp 存储在您描述的 table "TEMP_tmp".temp:

cassandra@cqlsh> INSERT INTO  TEMP_tmp.temp ("Date_Time") VALUES ( toTimestamp(now()));
cassandra@cqlsh> SELECT * FROM TEMP_tmp.temp;

Date_Time
--------------------------
2017-02-01 09:14:29+0000

如果我们将所有数据复制到csv:

cassandra@cqlsh> COPY Temp_tmp.temp TO 'temp.csv';

temp.csv 将包含:

2017-02-01 09:14:29+0000

如果我们 truncate table:

cassandra@cqlsh> TRUNCATE TABLE TEMP_tmp.temp;
cassandra@cqlsh> SELECT * FROM TEMP_tmp.temp;

Date_Time
--------------------------

那么如果我们导入 temp.csv:

cassandra@cqlsh> COPY Temp_tmp.temp FROM 'temp.csv';
Using 1 child processes

Starting copy of Temp_tmp.temp with columns [Date_Time].
Processed: 1 rows; Rate:       1 rows/s; Avg. rate:       1 rows/s
1 rows imported from 1 files in 0.746 seconds (0 skipped).

如果您想要自定义 date/time 格式,请按照您的问题 进行操作。