Aaron Ploetz created CASSANDRA-8970:
---------------------------------------
Summary: Allow custom time_format on cqlsh COPY TO
Key: CASSANDRA-8970
URL: https://issues.apache.org/jira/browse/CASSANDRA-8970
Project: Cassandra
Issue Type: Improvement
Components: Tools
Reporter: Aaron Ploetz
Priority: Trivial
Fix For: 2.1.4
When executing a COPY TO from cqlsh, the user is currently has no control over
the format of exported timestamp columns. If the user has indicated a
{{time_format}} in their cqlshrc file, that format will be used. Otherwise,
the system default format will be used.
The problem comes into play when the timestamp format used on a COPY TO, is not
valid when the data is sent back into Cassandra with a COPY FROM.
For instance, if a user has {{time_format = %Y-%m-%d %H:%M:%S%Z}} specified in
their cqlshrc, COPY TO will format timestamp columns like this:
{{userid|posttime|postcontent}}
{{0|2015-03-14 14:59:00CDT|rtyeryerweh}}
{{0|2015-03-14 14:58:00CDT|sdfsdfsdgfjdsgojr}}
{{0|2015-03-12 14:27:00CDT|sdgfjdsgojr}}
Executing a COPY FROM on that same file will produce an "unable to coerce to
formatted date(long)" error.
Right now, the only way to change the way timestamps are formatted is to exit
cqlsh, modify the {{time_format}} property in cqlshrc, and restart cqlsh. The
ability to specify a COPY option of TIME_FORMAT with a Python strftime format,
would allow the user to quickly alter the timestamp format for export, without
reconfiguring cqlsh.
{{aploetz@cqlsh:stackoverflow> COPY posts1 TO '/home/aploetz/posts1.csv' WITH
DELIMITER='|' AND HEADER=true AND TIME_FORMAT='%Y-%m-%d %H:%M:%S%z;}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)