[ 
https://issues.apache.org/jira/browse/CASSANDRA-8970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14699174#comment-14699174
 ] 

Yariv Amar commented on CASSANDRA-8970:
---------------------------------------

Hi
I'd like to point out another problem with timestamps and COPY TO / FROM.
When using {{COPY TO}} from a cqlsh that is on a *windows* machine, i get the 
following csv:{{some_data,2015-08-16 18:07:42Jerusalem Daylight Time}}
When using {{COPY TO}} from a cqlsh that is on a *Unix* machine i get the 
following csv:{{some_data,2015-08-16 18:07:42+0300}}

As you can see the time zones presented differently. Unfortunately, the export 
from windows can't be imported back with {{COPY FROM}}. 
It produce the error: {{bad Request: unable to coerce '2015-08-16 
18:07:42Jerusalem Standard Time' to a  formatted date (long)}}

The interesting part is that even when I change the {{time_format}} in the 
{{cqlshrc}} on the *windows* machine, I still get the same output string:
{{time_format=%Y-%m-%d %H:%M:%S%z}} or {{time_format=%Y-%m-%d %H:%M:%S%Z}} 
still writes the timestamp as ",2015-08-16 18:07:42Jerusalem Daylight Time"


Besides that, I like the idea to add a {{TIME_FORMAT}} option to {{COPY TO}}. 


> 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
>              Labels: cqlsh
>             Fix For: 2.1.x
>
>         Attachments: CASSANDRA-8970.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> 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)

Reply via email to