Currently it looks like the if the deterministic option is used, the entire data object is hashed.
https://github.com/awslabs/amazon-kinesis-agent/blob/master/src/com/amazon/kinesis/streaming/agent/tailing/KinesisRecord.java#L60
Is there an option anywhere to use a value from the data, let's say if your data always had some user_id or device_id and you wanted to partition by that and ensure data from the same device or user etc was used the same shard.