You can accomplish what you're trying to do using a traditional schema-less Thrift-based query model. Your data model could look like this:
Key: ReviewID {
Review:1:Body = ""
Review:1:Rating = 1
Review:2:Body = ""
Review:2:Rating = 1
Address:1:City = ""
Address:1:State = ""
Address:1:Zip = ""
Hours:1:Monday = ""
Hours:1:Tuesday = ""
Offer:1:[fieldName] = ""
Offer:2:[fieldName] = ""
}
The schema for this would be Composite(Utf8Type, IntegerType, Utf8Type)
with whatever key type matches your ReviewID and whatever value type matches your values (can be bytes if you have disparate types).