Could you elaborate on how you're debugging this issue? The reason I ask is that the JDBC Timestamp class does some of its own formatting when you query it as a string (it formats the string to a timestamp in the local timezone).
The general rules are as follows:
* the bulk loader interprets date/time/timestamp strings as being in GMT
* Phoenix stores only the long value of the date/time/timestamp internally
* JDBC date/time/timestamp values are instantiated based on the long value when you query them
In other words, Phoenix treats everything internally as being in GMT. However, if you run a query on a timestamp column in a non-GMT locale and display the timestamps as strings, the string will be the local timezone representation of the GMT timestamp -- the internal long value will be the same, but the string representation will be different than the file that you imported.