Bigtable is meant for wide-column data at high volume. If your data can be organized into simple rows and columns, and you plan on using massive amounts of it at high throughout (think IoT transactions, for example), then bigtable is the right choice.
Datastore, on the other hand, is for semi-structured data, with parent/child hierarchies, key value pairs, etc. It isn't run on a cluster of nodes like bigtable, but is managed behind the scenes as part of App Engine. It is slower than bigtable, but is more sophisticated, and offers client libraries for ORMs (ndb), SQL-like queries, and the like.
There's a brief comparison chart here:
I also highly recommend the Google cloud data engineering course at Coursera:
Or the instructor's book, "
Data Science on the Google Cloud Platform: Implementing End-to-End Real-Time Data Pipelines: From Ingest to Machine Learning"